如何使用vbscript处理大数字

时间:2010-06-17 13:54:10

标签: vbscript types

我正在为财务应用程序的自动化测试创建脚本。

使用VbScript作为语言。

需要使用大浮点数(超过10亿)进行操作 - 进行加法,乘法运算等。但是vbscript没有大数据的数据类型。

请告诉我此问题的任何解决方案或解决方法。

也许以前有人遇到过这个问题?

谢谢!

4 个答案:

答案 0 :(得分:1)

使用:

function mmod(a,moduloValue)
  dim k,t
  k=CDbl(a)
  t=Fix(k/moduloValue)
  mmod = k-(t*moduloValue)
end function

msgbox mmod(4010051786300000078934,1024)

输出:86

msgbox mmod(4010051786300000078934,2)

输出:0

答案 1 :(得分:0)

答案 2 :(得分:0)

VBScript有一些大数据的数据类型。在您的情况下,您可能想要使用Double。 以下是概述:http://www.csidata.com/custserv/onlinehelp/vbsdocs/vbs0.htm

答案 3 :(得分:0)

@ Rob的链接很好,但他选择的数据类型很危险。使用货币类型,因为它在内部由固定点编号表示。

如果您需要超过4个小数点,那么您将面临:

  • 需要更改语言(Java,C#和其他支持数据类型的数据类型,如BigDecimal,这些数据类型适合且可能具有更高的精度)
  • 需要编写一个我强烈建议的自定义库(它需要是防水的,否则你仍然会破坏你的数据)。

二进制浮点数不能准确表示十进制数,最终可能会出现使数据无效的舍入错误。如果需要详细信息,请参阅Why not use Double or Float to represent currency?