我有这段C#代码。
为什么结果是19.199999999999989而不是19.2?
double result = 480 - 460.8;
为什么结果是19.199999999999989而不是19.2?
你需要格式化双精度result
输出:
double result = 480 - 460.8;
String.Format("{0:0.##}", result);
测试示例:
更新:
还有另一种方法可以不用字符串格式化,您可以使用Math.Round
方法保留小数点后两位:
Math.Round(result,2);
example:
decimal
类型。 - undefined