C++ fixed用法详解

C++ fixed用法详解,第1张

概述如果一个数字太大,无法使用 setprecision 指定的有效数位数来打印,则许多系统会以科学表示法的方式打印。 例如,还是之前的程序: // This program asks for sales figures for three days.// The to 如果一个数字太大,无法使用 setprecision 指定的有效数位数来打印,则许多系统会以科学表示法的方式打印。

例如,还是之前的程序:
// This program asks for sales figures for three days.// The total sales are calculated and displayed in a table.#include <iostream>#include <iomanip> // header file needed to use stream manipulatorsusing namespace std;int main(){    double day1,day2,day3,total;    // Get the sales for each day    cout << "Enter the sales for day 1: ";    cin >> dayl;    cout << "Enter the sales for day 2: ”;    cin >> day2;    cout << "Enter the sales for day 3: ”;    cin >> day3;    // Calculate total sales    total = day1 + day2 + day3;    // display the sales figures    cout << "\nSales figures\n";    cout << "-------------\n" ;    cout << setprecision (5);    cout << "Day 1: " << setw(8) << day1 << endl;    cout << "Day 2: " << setw(8) << day2 << endl;    cout << "Day 3: " << setw(8) << day3 << endl;    cout << "Total: " << setw(8) << total << endl;    return 0;}

以下是在该程序输入较大数字之后的输出:

Enter the sales for day 1: 145678.99
Enter the sales for day 2: 205614.85
Enter the sales for day 3: 198645.22
Sales figures
-------------
Day 1: 1.4568e+005
Day 2: 2.0561e+005
Day 3: 1.9865e+005
Total: 5.4994e+005

为了防止出现这种情况,可以使用另一个流 *** 作符 fixed,它表示浮点输出应该以固定点或小数点表示法显示:

cout << fixed;

当然,fixed *** 作符可能最重要的还是当它与 setprecision *** 作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。而这通常正是我们想要的。

例如,可以重写上面程序的第 22 行如下:

cout << fixed << setprecision(2);

然后使用相同的样本数据重新运行程序,即可得到以下结果:
Enter the sales for day 1: 321.57Enter the sales for day 2: 269. 60Enter the sales for day 3: 307.00Sales figures-------------Day 1:   321.57Day 2:   269.60Day 3:   307.00Total:   898.17
通过将 fixed 和 setprecision 结合起来使用,得到了所需的输出结果。请注意,在这种情况下,精度值应设置为 2,这是希望看到的小数位数,而不是 5。
总结

以上是内存溢出为你收集整理的C++ fixed用法详解全部内容,希望文章能够帮你解决C++ fixed用法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1231291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存