如何在Access 2007 VBA中计算模97?及除法结果显示问题
在Access 2007 VBA中处理模97运算及结果格式化问题
1. Access 2007 VBA中计算模97的方法
VBA原生提供了模运算符Mod,专门用来计算两个数相除后的余数(也就是模运算的结果),直接用它就能搞定。举个实际例子:
' 计算3298模97的余数 Dim remainder As Integer remainder = 3298 Mod 97
因为97×34刚好等于3298,所以这个运算的结果会是0。需要注意:如果你的被除数或除数是浮点数,VBA会先把它们四舍五入为整数再执行Mod运算;要是需要保留小数精度的模运算,可能得自己写逻辑,但一般整数场景用Mod就足够了。
2. 让结果显示为0.00的解决办法
你现在用Me.mod_97_txt = 3298 / 97得到34,是因为这两个数刚好整除,除法返回的是整数商。但从你想要0.00的需求来看,你实际应该是想要模运算的余数(也就是0),并格式化为两位小数,而不是除法的商。
给你两步走的解决方案:
- 先用
Mod运算符拿到余数(这里是0) - 再用
Format函数把结果格式化为带两位小数的字符串
修改后的代码如下:
Me.mod_97_txt = Format(3298 Mod 97, "0.00")
运行这段代码后,mod_97_txt控件就会显示0.00,完全符合你的要求。
如果真的是要把除法的商34强制显示成0.00(虽然逻辑上不太合理),也可以用格式化函数,但我更倾向于你是混淆了除法和模运算的概念,所以优先推荐上面的方案。
内容的提问来源于stack exchange,提问作者bpy
相关产品推荐
相关产品推荐

