VBScript中处理浮点数相减的精度问题

Dim before, after, result
before = Browser("Fortex 6 WebTrader").Page("Fortex 6 WebTrader").WebEdit("WebEdit").GetROProperty("value")
Browser("Fortex 6 WebTrader").Page("Fortex 6 WebTrader").WebElement("WebElement_2").Click '减少一个pid
after = Browser("Fortex 6 WebTrader").Page("Fortex 6 WebTrader").WebEdit("WebEdit").GetROProperty("value")
print csng(before)
print csng(after)
result =  csng(before) - csng(after)
print result,6


上述的代码运算两个浮点数的相减,并打印出结果,输出结果如下:

.95991
.95981
9.995699E-05

这个不是我想要的运算结果,应该是0.0001才是。解决这个问题,要用到vbscript 的 round 函数,进行小数位的四舍五入。

最后一行改成:

print round(result,6)

得到想要的结果

.95971
.95961
.0001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值