【问题标题】: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想要比较字符串表示的数字,而不是字符串

标签: c++


【解决方案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(),具体取决于您的数据类型。

    【讨论】:

      猜你喜欢
      • 2013-05-06
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多