我试图将一些数字保存在十进制变量中,例如价值可能是:
Dim someDecimalVar as Decimal = 210.00483839999998
输出为210.0048384
,但我需要准确的值。
为什么数字在decimal
/ double
中存储时会失去准确性?如何防止这种情况?
编辑:我从对象中获取值(尝试复制它们)将它们保存为double,这怎么可能?
答案 0 :(得分:1)
我快速解决了你的问题中的数字,如果你将它分配给十进制变量时显式地将双精度转换为十进制,你得到正确的数字。
E.G。
Dim x As Double = 210.0048383999998
Dim someDecimalVar As Decimal = CDec(x)