如果我在C#中执行以下表达式:
double i = 10*0.69;
i是:6.8999999999999995.为什么?
i
6.8999999999999995
我理解像1/3这样的数字很难用二进制来表示,因为它有无限的重复小数位,但这不是0.69的情况.并且0.69可以很容易地用二进制表示,一个二进制数表示69,另一个表示小数位的位置.
我该如何解决这个问题?使用decimal类型?
decimal
.net c# math
.net ×1
c# ×1
math ×1