VB四舍五入的问题,急!

来源:百度知道 编辑:UC知道 时间:2024/05/18 19:49:35
dcje(index-1)=int(val(text2(index))*price(index-1)*100)/100

price(index-1) single类型 设值为0.7
text2(index) 文本类型 设值为1

由于是single类型如果不进行四舍五入,则位数太多。现进行了四舍五入,可dcje(index-1)结果并不是预期的0.7,而是0.69,为什么?

急需答案!
如果换成int(XXX *10)/10形式,有的时候数据就会差0.1,当然不是所有的都这样。
比如2*0.7应为1.4可结果会成为1.3。
这里面的问题我实在是解决不了了。

问题在于 int(XXX *100)/100
这句的意思是保留两位小数,你可以换作int(XXX *10)/10
不好意思,不好意思,还忘记了一点
请看下面:
Int(N*100+0.5)/100 这是一个保留两位小数的公式
那么你要的是保留一位小数
Int(N*10+0.5)/10
验证值1.76 代入
1.76乘以10得17.6
17.6加0.5 得18.1
18.1取整 得18
18除以10 得1.8
正确!

应为四舍五入了咇!