【发布时间】:2017-02-10 09:02:13
【问题描述】:
或者我需要使用哪种类型? 我有字符串,我尝试将其转换为双精度
NFR_File.ReadString(sVal); // sVal = " 0,00003"
dbl = _wtof(sVal);
然后得到:
3.0000000000000001e-05
我需要 0,00003,因为我应该将它作为“0,00003”而不是 3e-05 写入文件。
如果数字大于 0,0009,一切正常。
显示:
sOutput.Format(_T("%9g"),dbl);
NFP1_File.WriteString(sOutput);
我需要它没有尾随零并且还保留 9 位数字(带空格)
【问题讨论】:
-
值是正确的,只是你如何呈现,你如何显示值的问题。您如何显示值?
-
其实你已经从字符串中得到了正确的双精度值。
-
使用你使用的格式字符串,结果是正确的。 Read more about format strings here.
-
我使用 CString::Format。而且我需要在不带尾随零的情况下显示它,并且还需要保留 9 位数字(空白处有空格)。我编辑了帖子以获取更多详细信息
-
你试过std::ios_base::precision吗?