如何解决Int32的值太大或太小[重复]
|| 这个问题已经在这里有了答案:解决方法
您到底为什么要使用任何类型的整数来存储电话号码?
您无法对1进行有意义的算术运算,并且会丢失所有前导零。
请改用字符串。
,
integer
(Int32)只能存储32位,因此它可以存储的值受到限制。它可以存储一个介于2,147,483,647和-2,648之间的值。 (有关MSDN的更多信息)
txmobileno.Text
表示的值太大或太小。
看名字“ 2”可能是手机号码。这种数字的数字太多,无法存储在int32
中。另外,电话号码通常以0或00或+(国际)开头。无法将此类信息存储为整数(或其他数字类型)。只需将它们存储在string
中即可。
, 正如其他人指出的那样,将电话号码存储为整数是错误的。
您将失去存储字符和空格的能力,例如国家代码-\“ + 44(0800)12345 \”。
没有逻辑理由将其存储为整数-您是否需要对两个电话号码进行算术运算?将两个电话号码加在一起有意义吗?
前导零将丢失-(0800 12345)将变为(80012345)。
将其存储为字符串可让您对用户输入进行正则表达式验证。
话虽如此,原始问题的确提出了一些要点:
当源值为字符串时,建议使用Int32.TryParse而不是Convert.ToInt32。
处理可能会溢出的值时-将代码括在选中的{...}块中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。