gpt4 book ai didi

C++ : Removing scientific notation from number while converting to string

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:42 26 4
gpt4 key购买 nike

我看到所有的例子都说要使用 fixedprecision 等,但所有这些都是人们想要打印值的时候。

我想做的是将我的 double 值从数字转换为字符串,我不需要科学记数法。

我的数字示例:6.61914e+6

那么当我的大多数号码都不是很长时,如何以简单的方式完成。

最佳答案

引用自 std::to_string(double) 描述:

As many digits are written as needed to represent the integral part, followed by the decimal-point character and six decimal digits.

std::string s = std::to_string(6.61914e+6);

如果小数点后的位数不够,您可以使用 std::ostringstream:

std::ostringstream str;
str << std::fixed << std::setprecision(digits) << 6.61914e+6;
std::string s = str.str();

如果您想删除尾随零(根据 Robinson 的评论和对此 question 的回答):

s.erase(s.find_last_not_of('0') + 1, std::string::npos);  

关于C++ : Removing scientific notation from number while converting to string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45818199/

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