gpt4 book ai didi

c++ - 应该回答什么 stod ("5.000e-M1")?

转载 作者:行者123 更新时间:2023-11-30 00:45:41 25 4
gpt4 key购买 nike

我运行这个程序,

#include <iostream>
int main(int argc, char *argv[])
{
std::cout << std::stod("5.000e-M1") << std::endl;
}

我期望这样的结果:

terminate called after throwing an instance of 'std::invalid_argument'
what(): stod

但我得到了 5 个。对你来说正确吗?最好的问候

我处理 csv 文件,如果我有“5.000e-M1”,我需要一个错误而不是 5。你知道有这种行为的函数吗?

最佳答案

std::stod指定调用 std::strtod .从后者的文档(强调我的):

Function discards any whitespace characters (as determined by std::isspace()) until first non-whitespace character is found. Then it takes as many characters as possible to form a valid floating-point representation and converts them to a floating-point value.

5.000e-M1 不是有效的浮点表示,但 5.000 是,所以它接受并成功。

关于c++ - 应该回答什么 stod ("5.000e-M1")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716508/

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