VBScript中处理浮点数相减的精度问题
2015-08-20 18:13
393 查看
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 函数,进行小数位的四舍五入。
最后一行改成:
得到想要的结果
.95971
.95961
.0001
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
相关文章推荐
- Word 图片操作
- VB控件的左对齐和上对齐Sub
- MVB设备分类
- MVB帧
- vb创建excel报48错误解决方法
- VB最新使用教程
- VB6.0 SP6 AOD应用笔记——第一部分
- vb—MSHFlexGrid控件总结(一)
- KVC KVO KVB
- [vb版机房] 机房收费系统总结
- 搜芽 vbeta-1.3.1 安卓版
- 转载-VB中禁用文本框右键菜单等功能
- [vb版机房] 添加和删除用户
- VB MSFlexGrid 用法
- 机房重构VB.Net版进行中
- 解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
- VB接口的使用方法
- 【VB】MSHFlexGrid表格数据导出到Excel
- C#+OpenGL+FreeType显示3D文字(2) - 用GLSL+VBO绘制文字
- Windows 10 x64 安装 Visual Basic 6.0 SP6