gpt4 book ai didi

c++ - 打印 float ,使指数标记为 "*10^"而不是 "e"

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:47 25 4
gpt4 key购买 nike

我正在寻找在 C/C++ 中打印 float (或 double )f 的可能性,比如 f = 1.234e-15,这样它就被打印为

  • f = 1.234*10^-15,或者更好,如
  • f = 1.234*10^{-15}

谁能帮帮我?也许有一种方法可以得到以 10 为底的指数“-15”和尾数“1.234”。我发现了问题 how can I extract the mantissa of a double , 但不幸的是,这并没有真正帮助,因为它只得到基数 2 的尾数。

最佳答案

您可以使用输出字符串流打印到 string,然后将 "e" 替换为 "*10^"

ostringstream ss;
ss << scientific << 123456789.87654321;
string s = ss.str();
s.replace(s.find("e"), 1, "*10^");
cout << s << endl;

这个片段produces

1.234568*10^+08

关于c++ - 打印 float ,使指数标记为 "*10^"而不是 "e",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061780/

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