double类型的精度确实是可定义类型中最高的,但有效数字为15或16位另一种Decimal 数据类型有效位可达到28或29位,但不含指数位应该可以这样理解:Decimal精度更高但示数范围小;double反之而且Decimal 数据类型只能在 Variant中使用,也就是说,不能声明一变量为 Decimal 的类型上面有高手给了你利用Decimal 数据类型解决例题的办法。
另外如果需要,还可以自己定义变量或数组来记录超大数,有效位和示数范围上不封顶,不过进位借位等等操作只有自己解决了
Dim y As Variant
Dim q As Variant
Dim n As Integer
q = 1E+20
n = 17
y = CDec(CDec(q) - Fix(CDec(q) / n) * n)
Print y
时间: 2024-11-06 03:30:33