当前位置: 代码迷 >> PB >> 串前有“0”时,转换成整型时,出错,请为谢
  详细解决方案

串前有“0”时,转换成整型时,出错,请为谢

热度:40   发布时间:2016-04-29 06:39:27.0
串前有“0”时,转换成整型时,出错,请高手指点为谢!
//将NO自动加1,赋给g_no
li_nocd=len(ls_no)//NO串长度,串是:000123456789
li_noint=integer(ls_no)//NO串转换为整型
ls_nos=string(li_noint)
messagebox("ls_nos=",ls_nos)
这里出错:不是123456789
li_nointcd=len(ls_nos)
li_noo=(li_nocd)-(li_nointcd)//ls_no串中“0”的个数
ls_noo=mid(ls_no,1,li_noo)//取ls_no串中数字前的“0”串
messagebox("ls_noo=",ls_noo)
li_noint=(li_noint)+1
ls_nos=string(li_noint)
messagebox("ls_nos=",ls_nos)
ls_no=(ls_noo)+(ls_nos)
g_no=ls_no
messagebox("g_no=",g_no)
string

------解决方案--------------------
//将NO自动加1,赋给g_no
li_nocd=len(ls_no)//NO串长度,串是:000123456789
li_noint=integer(ls_no)//NO串转换为整型
ls_nos=string(li_noint)
messagebox("ls_nos=",ls_nos)
这里出错:不是123456789
=======================================

li_noint 应该定义为 long 类型,不要定义为 integer 类型

li_noint=long(ls_no)//NO串转换为整型
------解决方案--------------------
LZ 可以先查一下PB 各种数据类型定义以及它的数据范围。

------解决方案--------------------
Long 

32-bit signed integers, from -2147483648 to +2147483647.

才十位。
------解决方案--------------------
可以定义为 longlong 

LongLong 

64-bit signed integers, from -9223372036854775808 to 9223372036854775807.

  相关解决方案