将两个字符串作为数值进行比较

2023-12-01

我应该如何比较 C++ 中表示数字的两个字符串?我想转换为数量long longtype 但问题是 string 表示的数值可以超过long long最大限制。 保证该字符串代表一个数值。

Java中也有类似的问题比较两个数字字符串值。 但这利用了 C++ 中没有的 BigInteger 库。


逐位比较它们:

a = "3254353245423345432423133423421"
b = "3254353245423345432443133423421"

for(int i = 0; i < a.length(); ++i):
    if ((a[i] - '0') < (b[i] - '0'))
    { 
        std::cout << "b is larger!" 
    }

我相信如果你想知道是否可以从这里获取b大于a,或者如果它们相等。或者,如果它们的长度不同,则较大的获胜! (检查开头是否有零,即"000443342")不要忘记考虑负数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将两个字符串作为数值进行比较 的相关文章

随机推荐