vb变量精度不够啊

用的Double,但还是经常出现0.1变成0.0999999999这类情况
2024-12-27 11:58:01
推荐回答(1个)
回答1:

double类型的精度确实是可定义类型中最高的,但有效数字为15或16位
另一种Decimal 数据类型有效位可达到28或29位,但不含指数位
应该可以这样理解:
Decimal精度更高但示数范围小;double反之
而且Decimal 数据类型只能在 Variant中使用,也就是说,不能声明一变量为 Decimal 的类型
上面有高手给了你利用Decimal 数据类型解决例题的办法。

另外如果需要,还可以自己定义变量或数组来记录超大数,有效位和示数范围上不封顶,不过进位借位等等操作只有自己解决了