Classic ASP App CINT failure - twitpocalypse v2

2019-06-20 07:33发布

Due to a qty value exceeding what a VBScript INT can store, I'm getting a pretty nasty error message (actually the users are)... This is totally a case of twitpocalypse.

Since CINT() will not work in this situation, what is the best workaround?

requestqty = 40200
CInt() max = 32767

CInt(requestqty) 

EDIT
CLng() seems to do the trick, any risk to the code to change all CInt() to CLng(). From what I've read below and elsehwere on the web, it seems like there is really very little reason to even use CInt(). I didn't write this particular app and don't know why one was used over the other, but would prefer to not bandaid the issue and completely fix this issue in the app so it does not happen again...

3条回答
叛逆
2楼-- · 2019-06-20 08:22

CLng or CDec or CDbl

查看更多
混吃等死
3楼-- · 2019-06-20 08:26

Aways use long instead of int in VBScript (unless you specifically want to limit the value to the int range).

There is no performance benefit for using the smaller type, and there is no storage size benefit because all variables are variants, so all simple types use the same amount of memory.

Use the CLng function instead of the CInt function.

查看更多
叼着烟拽天下
4楼-- · 2019-06-20 08:32

CLng() and using a Long instead of an Int?

查看更多
登录 后发表回答