Winfrom 关于int取值范围的

超级大咸鱼 2012-09-17 04:45:15
不知道大家在使用int类型的时候,如果数字较大,超出范围应该如何处理,真心求教。
例:
我这边有一个ulong类型的整数:15611686018427387904, 如何算的它+上另一个ulong类型 15611686018427387904
计算完后我还要有加减乘除的计算。
...全文
113 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大咸鱼 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用楼主 的回复:
不知道大家在使用int类型的时候,如果数字较大,超出范围应该如何处理,真心求教。
例:
我这边有一个ulong类型的整数:15611686018427387904, 如何算的它+上另一个ulong类型 15611686018427387904
计算完后我还要有加减乘除的计算。

将int换成ulong或者更简单
try catch 捕获异常,提示他输入的数字过大,……
[/Quote]
的确,当时设计的时候确实是我不严谨。最后还是加上了长度限制..
王子文龙 2012-09-17
  • 打赏
  • 举报
回复
楼上正解,捕获异常
风吹腚腚凉 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
不知道大家在使用int类型的时候,如果数字较大,超出范围应该如何处理,真心求教。
例:
我这边有一个ulong类型的整数:15611686018427387904, 如何算的它+上另一个ulong类型 15611686018427387904
计算完后我还要有加减乘除的计算。
[/Quote]
将int换成ulong或者更简单
try catch 捕获异常,提示他输入的数字过大,请重新输入。
你的问题出现在你的逻辑思维不严密上,
这个东西你必须捕获异常并且进行处理,你明明没有对文本的长度进行限制,就必须做异常处理,以及反馈
程序崩溃,是个很丢人的事情,而且可以当BUG做计算。
cheng2005 2012-09-17
  • 打赏
  • 举报
回复
限制输入时绝大多数系统的做法,因为不限制输入,就意味着系统可以支持一切输入,这隐含的需求就是万能处理方法,你觉得做万能处理方法简单还是限制输入简单?
据我所知,当今世界还不存在万能处理方法。
超级大咸鱼 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wddw1986 的回复:]
你要先弄明白计算这么大的数字是否有意义。
然后再明白一点,如果真的需要这么大的数字,可以使用BigInteger类型。

不过从我个人经验来说,99.9%的需求是不会要求这么大的数字做计算的,除非是做科研,不然这么大的数字本身没有意义。
[/Quote]
数字本身是无意义的,只是客户无聊,随便输入了个过大的数字,结果导致 系统 计算出现了错误,现在经理怪罪下来,我只能想办法解决,如果要限制输入的话,估计量不少...
cheng2005 2012-09-17
  • 打赏
  • 举报
回复
你要先弄明白计算这么大的数字是否有意义。
然后再明白一点,如果真的需要这么大的数字,可以使用BigInteger类型。

不过从我个人经验来说,99.9%的需求是不会要求这么大的数字做计算的,除非是做科研,不然这么大的数字本身没有意义。
超级大咸鱼 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
什么数这么大?

数字很大的建议保存为数组然后处理
[/Quote]
我这里有个界面需要输个整数,但是客户输的整数过大,就会完全的出问题,计算出来的结果为0..真的很无奈,或者我该问 我该如何避免这样问题。 最好不要在输入长度上做限制
  • 打赏
  • 举报
回复
什么数这么大?

数字很大的建议保存为数组然后处理
csdn_风中雪狼 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
不知道大家在使用int类型的时候,如果数字较大,超出范围应该如何处理,真心求教。
例:
我这边有一个ulong类型的整数:15611686018427387904, 如何算的它+上另一个ulong类型 15611686018427387904
计算完后我还要有加减乘除的计算。
[/Quote]

这数够大,多少位,目测有20位,
什么数,这么大

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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