gpt4 book ai didi

c++ - atof 只返回整数?

转载 作者:行者123 更新时间:2023-11-28 03:28:12 25 4
gpt4 key购买 nike

我有一个例程,它获取指数格式的数字(例如 2,5E-02 或 4E+06)作为 QString。当我打印值时,我总是只得到整数,当它们小于 1 时,我总是得到 0。有谁知道我在这里做错了什么?(对于 cout 行,我只想测试 QString::number() 是否为我毁了它)

这是一个代码片段:

QStringList valPair;
value = atof(valPair[0].replace(",",".").toAscii());
value1 =atof(valPair[1].replace(",",".").toAscii());
strValue = "[" + QString::number(value) + ", " + QString::number(value1) + "]";
//cout<<value<<" "<<value1;

如果有任何帮助,我将不胜感激!

编辑:变量声明有问题...

double value, value1;

最佳答案

你为什么要做那么多工作?如果你使用 QString::toDouble,Qt 已经有了你要找的东西和 QString::number() .如果您在调用 toDouble() 之前手动设置区域设置,那么您可以使用逗号十进制表示法而无需替换任何内容。

您还可以创建一个字符串模板,例如 QString("[%1,%2]"),然后使用 double 版本的 QString::arg.

关于c++ - atof 只返回整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356593/

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