标题:
[问题求助]
【已解决】vbs在中/英文版WIN7操作系统里面对除法计算的结果显示有所不同,何解?
[打印本页]
作者:
gflrlm
时间:
2014-4-22 11:22
标题:
【已解决】vbs在中/英文版WIN7操作系统里面对除法计算的结果显示有所不同,何解?
本帖最后由 gflrlm 于 2014-4-22 22:58 编辑
VBS 求助: 有如下很简单的除法,用round函数取小数点后2位。
Dim a1,a2,a3
a3=1/2
a3=round(a3,2)
msgbox(a3)
在中文旗舰版win7 64位系统里面,显示的结果是
.5
在英文企业版win7 32位系统里面,显示的结果是
0.5
中文旗舰版是我自己安装的ghost版本,英文企业版是公司的正版系统。
各位大牛,有何见解?多谢了
作者:
gflrlm
时间:
2014-4-22 12:49
各位版主/坛友们,有碰到过的吗?
作者:
PowerShell
时间:
2014-4-22 13:53
你这个是bug,但是今年1月vbs有高危漏洞了,
http://www.bathome.net/thread-27943-1-1.html
随后出了补丁,你补了高危漏洞,或许会去掉此bug。
另外,欢迎阅读拙作。
powershell躺着进行数值计算
http://www.bathome.net/thread-26030-1-1.html
用powershell帮丹姐数钱
http://www.bathome.net/thread-28100-1-1.html
作者:
apang
时间:
2014-4-22 14:27
FormatNumber(1/2, 2, true)
作者:
Demon
时间:
2014-4-22 18:45
我是来围观3楼的
作者:
CrLf
时间:
2014-4-22 20:43
这是注册表控制的格式吧,就像日期在中英文系统下显示的格式就有差异
在这里应该可以找到对应项:
HKEY_CURRENT_USER\Control Panel\International
复制代码
作者:
gflrlm
时间:
2014-4-22 22:41
回复
3#
PowerShell
这个漏洞我已经修复了,不是该bug引起的
作者:
gflrlm
时间:
2014-4-22 22:44
回复
4#
apang
大牛多谢了, 这个函数formatnumber完全可以,我继续看看round为什么不行
作者:
gflrlm
时间:
2014-4-22 22:54
回复
6#
CrLf
牛人啊,确实是因为系统设置问题导致的。 区域和语言选项设置里面,如下图最后一行:
作者:
PowerShell
时间:
2014-4-23 23:11
本帖最后由 PowerShell 于 2014-4-23 23:14 编辑
1 认为bug,我武断了
2 原来如此,我的中文64位win8.1企业版也默认也是.7,算出来你那个也是.5---跟是否中文没关。
3 我认为vbs 的 round这个特性不好,powershell的round就没这问题
[system.math]::round(0.5,2) ---返回0.5----格式那选择的是.7----不信你试试。
作者:
gflrlm
时间:
2014-4-25 02:31
回复
10#
PowerShell
果然。。。
欢迎光临 批处理之家 (http://bathome.net./)
Powered by Discuz! 7.2