C++ cout输出格式如何取消小数点后的无效0

时间:2022-06-03 18:29:39
代码如下,想要做到的是括号里不输出小数点后的0,等号后输出0。
while ('y' == judge1)
{
cout<<"Please enter the term you want:";
cin>>termD;

cout.unsetf(ios::showpoint);

if (_finite(fibonacci(termD)))
cout<<"Fibonacci ("<<termD<<") = "<<fixed<<showpoint<<setprecision(1)<<fibonacci(termD)<<endl;
else
{
cout<<"Value of this term exceeds the maximum of basic data type 'double'.\n";
continue;
}

cout<<"Do you want to continue? (y/n)";
cin>>judge1;
               }
然而这样设置并没有卵用……,第二次循环以后就全部带小数点了
(p.s. termD和fibonacci()的返回值都是double)

6 个解决方案

#1


拆分为多条语句

#2


你要理解cout输出的是一个流,可以试试c的print

#3


乍看起来c++的cin、cout、ifstream、ofstream在输入、输出上比c的scanf、printf、fscanf、fprintf、fread、fwrite简单,不用格式控制符!
但是不用格式控制符,输入输出恰好是你期望的格式的时候好说;等到输入输出不是你期望的格式的时候,你就会觉得还是用格式控制符更方便、更靠谱。
摒弃cin、cout、ifstream、ofstream!
使用scanf、printf、fscanf、fprintf、fread、fwrite。

#4


引用 2楼Perfect_Cheung 的回复:
你要理解cout输出的是一个流,可以试试c的print
好的,我去试试

#5


引用 3楼赵4老师 的回复:
乍看起来c++的cin、cout、ifstream、ofstream在输入、输出上比c的scanf、printf、fscanf、fprintf、fread、fwrite简单,不用格式控制符!
但是不用格式控制符,输入输出恰好是你期望的格式的时候好说;等到输入输出不是你期望的格式的时候,你就会觉得还是用格式控制符更方便、更靠谱。
摒弃cin、cout、ifstream、ofstream!
使用scanf、printf、fscanf、fprintf、fread、fwrite。
printf()是每次输出都要设置格式吗

#6


用%lg输出double类型的小数

#1


拆分为多条语句

#2


你要理解cout输出的是一个流,可以试试c的print

#3


乍看起来c++的cin、cout、ifstream、ofstream在输入、输出上比c的scanf、printf、fscanf、fprintf、fread、fwrite简单,不用格式控制符!
但是不用格式控制符,输入输出恰好是你期望的格式的时候好说;等到输入输出不是你期望的格式的时候,你就会觉得还是用格式控制符更方便、更靠谱。
摒弃cin、cout、ifstream、ofstream!
使用scanf、printf、fscanf、fprintf、fread、fwrite。

#4


引用 2楼Perfect_Cheung 的回复:
你要理解cout输出的是一个流,可以试试c的print
好的,我去试试

#5


引用 3楼赵4老师 的回复:
乍看起来c++的cin、cout、ifstream、ofstream在输入、输出上比c的scanf、printf、fscanf、fprintf、fread、fwrite简单,不用格式控制符!
但是不用格式控制符,输入输出恰好是你期望的格式的时候好说;等到输入输出不是你期望的格式的时候,你就会觉得还是用格式控制符更方便、更靠谱。
摒弃cin、cout、ifstream、ofstream!
使用scanf、printf、fscanf、fprintf、fread、fwrite。
printf()是每次输出都要设置格式吗

#6


用%lg输出double类型的小数