比较字符串中的数字
Posted
技术标签:
【中文标题】比较字符串中的数字【英文标题】:Compare digits in character string 【发布时间】:2014-04-29 15:14:39 【问题描述】:请我尝试找到不比较字母而是比较两个字符array
中的数字的内置函数。
例如
如果在char array1[50]
中有一个数字500
并且在char array2[50]
有一个数字100
所以我应该能够比较哪个更大,在这种情况下500
更大哪个是@ 987654327@ 那么内置函数是什么。请帮帮我。
【问题讨论】:
为什么不使用std::string
和compare
atoi()
和 >
运算符
在我的程序中我使用了字符串,它是一个很大的程序,所以我现在不能把它改成字符串。
我不明白为什么不能使用string,你可以初始化std::string array_string(array1[0], array1[50])
并使用compare
,然后处理完返回char数组
@Claudiordgz 也许OP想要比较字符串表示的数字,而不是字符串
【参考方案1】:
使用boost::lexical_cast
:
if (boost::lexical_cast<int>(array1[50]) > boost::lexical_cast<int>(array2[50]))
// array1[50] bigger than array2[50]
【讨论】:
【参考方案2】:prepend(add '0' at the beginning) '0' 因此两个字符串的长度相同,然后您可以使用 strcmp() 或 std::string::compare(),具体取决于您的数据类型。
【讨论】:
以上是关于比较字符串中的数字的主要内容,如果未能解决你的问题,请参考以下文章
如何对oracle sql中的数字字符串进行数学比较[重复]