经典ASP App CINT失败 - twitpocalypse v2

时间:2009-07-28 16:57:45

标签: asp-classic vbscript

由于数值超过了VBScript INT可以存储的值,我收到一条非常讨厌的错误消息(实际上是用户)...这完全是twitpocalypse的情况。

由于CINT()在这种情况下不起作用,最好的解决方法是什么?

requestqty = 40200
CInt() max = 32767

CInt(requestqty) 

编辑
CLng()似乎可以做到这一点,代码将所有CInt()更改为CLng()的任何风险。从我在下面阅读的内容和其他网站上看,似乎甚至没有理由使用CInt()。我没有写这个特定的应用程序,也不知道为什么一个用于另一个,但更愿意不对该问题进行限制并在应用程序中完全解决这个问题,所以它不会再发生......

3 个答案:

答案 0 :(得分:11)

在VBScript中使用long而不是int(除非你特别想要将值限制为int范围)。

使用较小的类型没有性能优势,并且没有存储大小优势,因为所有变量都是变体,因此所有简单类型都使用相同数量的内存。

使用CLng功能代替CInt功能。

答案 1 :(得分:2)

CLng或CDec或CDbl

答案 2 :(得分:2)

CLng()并使用Long而不是Int?