gpt4 book ai didi

c++ - std::string 一次转换为 int/double

转载 作者:搜寻专家 更新时间:2023-10-31 02:21:59 25 4
gpt4 key购买 nike

我正在解析一个可能包含实数或整数值的字符串。我想解析该字符串并在一次解析中获得积分值或实数值。

我可以使用 std::stoi 和 std::stod,但是如果我先调用 stoi 并且它是一个真实的,那么它将失败并且我将不得不调用 stof,导致第二次解析。如果我先调用 stof 并且该字符串包含一个整数,它会将其视为有效的实数值,从而丢失它是一个整数的信息。

是否有某种函数可以一次解析这两种类型?还是我必须首先手动寻找一个点并调用正确的函数?

谢谢。 :)

最佳答案

您不会找到实现此目的的标准调用,原因很简单,不带点的数字串既是有效整数又是有效 double 。

如果您的标准是“当且仅当点时加倍”,然后手动查找点。或者,读取为 double 并检查小数部分是否为空。

关于c++ - std::string 一次转换为 int/double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30839623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com