【发布时间】:2013-08-24 15:35:13
【问题描述】:
我有一个函数,计算值可以达到比无符号 __int64 范围更高的值,MS 用 18,446,744,073,709,551,615 表示。如何测试一个数字是否超出了该范围?我已将 int 转换为 char 并尝试通过使用 strlen 检查长度来进行测试。但是,某些长度超过指定长度的值:例如 if(strlen(charvar)>17) 会神秘地转义。那么如何才能有效地进行测试呢?
【问题讨论】:
-
这是为了从字符串转换为数字吗?什么语言? (类似 C,但是是 C 还是 C++?)
-
C++,它用于使用 OpenCV 在图像中显示值(所以我需要使用 _ui64toa 将它们转换为字符)。我只想显示“正确”的。显示它们是没有问题的,但如果我使用 strlen 函数来删除有问题的函数,它并不总是有效。
-
VS 2008,什么是boost?来看看,是不是有一些简单的测试方法呢?如果我可以测试数字是否超过 19 或 18 就足够了。