我在c#
中具有此代码double result = 480 - 460.8;
为什么结果为199999999999989,而不是19.2?
您应该格式化result
输出的双重精度:
double result = 480 - 460.8;
String.Format("{0:0.##}", result);
测试示例:
https://ideone.com/27OFP4
更新:
有另一种方法而无需字符串格式,您可以使用十进制之后的两个数字的方法Math.Round
:
Math.Round(result,2);
示例:
https://ideone.com/2q6rpd