在Access 2002 VBA中,可以使用哪种数据类型来限制双精度结果的精度?
|
我正在执行计算,得出一个浮点数。当我尝试将其写入访问字段时,出现此错误:
Run-time error \'3759\': Scaling of decimal value resulted in data truncation
我故意将访问字段限制为固定的精度。我希望该值会被自动截断,但会引发此错误-如何在VBA中显式更改该值的精度以避免此错误?
码:
value = X / Y
With myTAble
.AddNew
!calc = value
.Update
End With
没有找到相关结果
已邀请:
2 个回复
粱委教
用任意多个小数位替换2。 根据数字的大小和精度,如果Round返回的值不能精确地表示为Double浮点数(因此最终的位数比您要求的要多),您可能仍然会遇到3759错误。一种更可靠的方法可能是使用类似以下内容的方法:
用任意多个小数位替换2。 FormatNumber将舍入数字并将其转换为字符串(仅包含您指定的小数位数),而CDec会将字符串转换为Decimal。
痰降锭骂奸
其中“ 5”是您希望使用的小数位数。
截断数字。如果您想四舍五入,请尝试
。