比较字符串中的数字

Posted

技术标签:

【中文标题】比较字符串中的数字【英文标题】:Compare digits in character string 【发布时间】:2014-04-29 15:14:39 【问题描述】:

请我尝试找到不比较字母而是比较两个字符array 中的数字的内置函数。 例如

如果在char array1[50] 中有一个数字500 并且在char array2[50] 有一个数字100 所以我应该能够比较哪个更大,在这种情况下500 更大哪个是@ 987654327@ 那么内置函数是什么。请帮帮我。

【问题讨论】:

为什么不使用std::stringcompare 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(),具体取决于您的数据类型。

【讨论】:

以上是关于比较字符串中的数字的主要内容,如果未能解决你的问题,请参考以下文章

如何比较雪花中的数字字符串

解决js中的字符串数字比较大小的坑

如何对oracle sql中的数字字符串进行数学比较[重复]

Spring JPA 标准构建器大于:我可以传递字符串值以比较数据库中的数字类型吗

三元运算符如何比较 JavaScript 中的字符和数字?

Qt QML 中疯狂字符串数字比较的解决方法