gpt4 book ai didi

C++如何显示小数部分的确切数字

转载 作者:行者123 更新时间:2023-11-28 07:23:13 26 4
gpt4 key购买 nike

在 C++(或 boost lib)中有什么方法可以显示小数部分的给定数字吗?但我不想在小数部分打印尾随 0(例如 1.0001.500)。看这个案例:

cout << std::setprecision(3) << 5.0/7.0 << endl;    //  0.714
cout << std::setprecision(3) << 12.0/7.0 << endl; // 1.71
cout << std::setprecision(3) << 7.0/7.0 << endl; // 1
cout << std::setprecision(3) << 10.5/7.0 << endl; // 1.5

问题是 setprecision 以不同方式打印第 1 行和第 2 行,我希望这两行都打印 0.7141.714。并且仍然保留第 3 行和第 4 行 11.5

最佳答案

怎么样:

#include <cmath>
using namespace std;

cout << setprecision(ceil(log10(floor(x))+3) << x;

不是很快,但想法是计算出 x 的整数部分需要多少位数字,然后加上您感兴趣的小数位数。如果你真的认真的话,你甚至可以编写自己的操纵器来做到这一点。

关于C++如何显示小数部分的确切数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136745/

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