帮别人编个简单得不能再简单的课程设计,晚上就要了,没想到怎么卡这里了,在线等

zjsyw 2006-11-28 07:07:09
Edit1->Text="0300172";
int k=StrToInt(Edit1->Text.Trim()+"0000");
报错“‘03001720000’is not a valid integer value”
可是直接在程序里写
int k=StrToInt("03001720000");
就没问题。
我看不出来这有区别吗?
...全文
137 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cczlp 2006-11-28
  • 打赏
  • 举报
回复
超过int表示的范围了
zjsyw 2006-11-28
  • 打赏
  • 举报
回复
恩,谢谢,结帐
柯本 2006-11-28
  • 打赏
  • 举报
回复
可能是你改编译参数了,正常情况下:
int k=StrToInt("03001720000");是不可以的
柯本 2006-11-28
  • 打赏
  • 举报
回复
的确,samchoy(老蔡) 也没错:
int -2,147,483,648 <= X <= 2,147,483,647
unsigned 0 <= X <= 4,294,967,295
zjsyw 2006-11-28
  • 打赏
  • 举报
回复
keiy() ,你说的有道理,但是int k=StrToInt("03001720000");是可以的
samchoy 2006-11-28
  • 打赏
  • 举报
回复
我试了int k=StrToInt("03001720000");也是不行滴

unsigned int k=StrToInt64(Edit1->Text.Trim()+"0000");
才行
路过路人乙 2006-11-28
  • 打赏
  • 举报
回复
keiy()
int k=StrToInt("03001720000");
也是不可以的,而int k=StrToInt(Edit1->Text.Trim()+"+0000+");就更不行了
03001720000已超出int的范围
这样可以:
__int64 k=StrToInt64(Edit1->Text.Trim()+"0000");

=======================================================

晕,,脑袋太不好使了,,,我今天写的程序也犯了这样的错误。。

这么快就忘记了,,,汗下汗下。。。。
路过路人乙 2006-11-28
  • 打赏
  • 举报
回复
= =~我随便看说的,,我44看
柯本 2006-11-28
  • 打赏
  • 举报
回复
int k=StrToInt("03001720000");
也是不可以的,而int k=StrToInt(Edit1->Text.Trim()+"+0000+");就更不行了
03001720000已超出int的范围
这样可以:
__int64 k=StrToInt64(Edit1->Text.Trim()+"0000");
zjsyw 2006-11-28
  • 打赏
  • 举报
回复
再加一层就性了
zjsyw 2006-11-28
  • 打赏
  • 举报
回复
呵呵,我昏头了
解决了
zjsyw 2006-11-28
  • 打赏
  • 举报
回复
int k=StrToInt(Edit1->Text.Trim()+"+0000+");

这样

你。。你在开玩笑吗?
路过路人乙 2006-11-28
  • 打赏
  • 举报
回复
int k=StrToInt(Edit1->Text.Trim()+"+0000+");

这样

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧