C++中小数点输出格式(实例代码)

C++中小数点输出格式(实例代码),第1张

概述在《算法竞赛入门经典》一书中习题1-5 打折 (discount)一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。

在《算法竞赛入门经典》一书中

习题1-5 打折 (discount)

一件衣服95元,若消费满300元,可打八五折。输入购买衣服件数,输出需要支付的金额(单位:元),保留两位小数。

我编写的代码为

#include<iostream>#include<iomanip>using namespace std;int main(voID){  double s;  cin>>s;    if(s*95>=300){    cout<<setiosflags(ios::fixed)<<setprecision(2)<<s*95*0.85<<endl;  }     else{    cout<<setiosflags(ios::fixed)<<setprecision(2)<<s*95<<endl;  }      return 0;}

于是将C++中如何显示不同格式的小数查了一下:

floating point output can be changed with<< setiosflags( ios::fixed ) : never use scIEntific notation //绝对不使用科学记数法。<< setiosflags( ios::scIEntific ) : always use scIEntific notation //使用科学记数法。<< resetiosflags( ios::floatfIEld ) : restores default (use fixed or scIEntific notation based on the precision)//重置为缺省。<< (re)setiosflags( ios::showpoint ) : controls if the trailing zeros and decimal point will be output (default is no) //控制小数点后面的零是否显示。<< setprecision( digits ) : if fixed or scIEntific format is selected,controls the number of digits after the decimal place,otherwise controls the total number of significant digits// 如果fixed或者scIEntific已经确定了,则控制小数点后面的位数;否则,控制所有位数。
#include <iostream>#include <iomanip>using namespace std;int main(voID){  double S = 0.000000123;  double A = 456.7;  double B = 8910000000000.0;  cout << "default precision is "     << cout.precision() << endl;  // 6  cout << "  S = " << S << endl;  // 1.23e-07  cout << "  A = " << A << endl;  // 456.7  cout << "  B = " << B << endl;  // 8.91e+12  cout << setiosflags(ios::showpoint)     << "ios::showpoint ON" << endl;  cout << "  S = " << S << endl;  // 1.23000e-07  cout << "  A = " << A << endl;  // 456.700  cout << "  B = " << B << endl;  // 8.91000e+12  cout << resetiosflags(ios::showpoint)     << "ios::showpoint OFF" << endl;  cout << setiosflags(ios::fixed)     << "ios::fixed ON" << endl;  cout << "  S = " << S << endl;  // 0.000000  cout << "  A = " << A << endl;  // 456.700000  cout << "  B = " << B << endl;  // 8910000000000.000000  cout << resetiosflags(ios::fixed)     << setiosflags(ios::scIEntific)     << "ios::scIEntific ON" << endl;  cout << "  S = " << S << endl;  // 1.230000e-07  cout << "  A = " << A << endl;  // 4.567000e+02  cout << "  B = " << B << endl;  // 8.910000e+12}

输出为:

default precision is 6
S = 1.23e-007
A = 456.7
B = 8.91e+012
ios::showpoint ON
S = 1.23000e-007
A = 456.700
B = 8.91000e+012
ios::showpoint OFF
ios::fixed ON
S = 0.000000
A = 456.700000
B = 8910000000000.000000
ios::scIEntific ON
S = 1.230000e-007
A = 4.567000e+002
B = 8.910000e+012

--------------------------------

Process exited after 0.02482 seconds with return value 0

请按任意键继续. . .

以上这篇C++中小数点输出格式(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的C++中小数点输出格式(实例代码)全部内容,希望文章能够帮你解决C++中小数点输出格式(实例代码)所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1244906.html

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

发表评论

登录后才能评论

评论列表(0条)

保存