胥望雅 发表于 6 天前

stoi字符串转十进制数越界问题

原因

在项目开发过程中需要将字符串转化成十进制数,起初没有问题。但是在之后的开发过程中程序在运行时突然发生崩溃,由于没有做异常处理,报错信息也不明显。最后发现是因为某个字符串转化的字符串转化的十进制数超过了int的范围。
c++中各数据类型取值范围

https://pic.imgdb.cn/item/6684e492d9c307b7e9b15ccc.png
解决方法

改用stoll函数代替stoi,记得返回值不能是int类型,换成long long类型 ,不然会发生数据截断,程序不会报错,但结果大概率出现问题。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: stoi字符串转十进制数越界问题