Asp classic 经典ASP应用程序CINT失败-twitpocalypse v2

Asp classic 经典ASP应用程序CINT失败-twitpocalypse v2,asp-classic,vbscript,Asp Classic,Vbscript,由于qty值超过VBScript INT可以存储的值,我收到了一条非常严重的错误消息(实际上用户是)。。。这完全是一个错误的例子 既然CINT()在这种情况下不起作用,那么最好的解决方法是什么 requestqty = 40200 CInt() max = 32767 CInt(requestqty) 编辑 CLng()似乎可以做到这一点,将所有CInt()更改为CLng()会给代码带来任何风险。从我在下面和网站上读到的内容来看,似乎没有什么理由使用CInt()。我没有编写这个特定的应用程

由于qty值超过VBScript INT可以存储的值,我收到了一条非常严重的错误消息(实际上用户是)。。。这完全是一个错误的例子

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

requestqty = 40200
CInt() max = 32767

CInt(requestqty) 
编辑

CLng()似乎可以做到这一点,将所有CInt()更改为CLng()会给代码带来任何风险。从我在下面和网站上读到的内容来看,似乎没有什么理由使用CInt()。我没有编写这个特定的应用程序,也不知道为什么一个应用程序会被另一个应用程序取代,但我更希望不要解决这个问题,并在应用程序中完全修复这个问题,这样它就不会再次发生……

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

在VBScript中总是使用Long而不是Int(除非您特别希望将该值限制为int范围)

使用较小的类型没有性能优势,也没有存储大小优势,因为所有变量都是变量,所以所有简单类型都使用相同的内存量


使用
CLng
功能代替
CInt
功能。

有没有理由不将所有CInt更改为CLng?有没有风险?我没有编写应用程序,需要“修复”它相当快…我没有太多接触VBScript和经典ASP,所以有点水下…您可以将所有CInt更改为CLng,但随后必须检查值是否在过程中被截断,就像存储在数据库中的smallint字段中一样。
CDec()
不是VBScript函数。