C#中的双精度精度

时间:2017-03-05 07:52:57

标签: c# types double

我在C#中有这段代码

double result = 480 - 460.8;

为什么结果是19.199999999999989而不是19.2?

1 个答案:

答案 0 :(得分:4)

你应该格式化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