double 是一种在 Java 中表示 64 位 IEEE 754 浮点数的类型
double 是一种在 C# 中表示 IEEE 754 格式的 64 位双精度数的类型。
两种语言都遵循相同的规范。那么为什么下面的代码会有不同呢?我也检查了 Mono。
Double.MIN_VALUE == (Double.MIN_VALUE + 1.0); // false
Run Code Online (Sandbox Code Playgroud)
Console.WriteLine(Double.MinValue == (Double.MinValue + 1.0)); // true
Run Code Online (Sandbox Code Playgroud)