做题遇到保留两位小数的题目,课本上写的又多又杂,网上查来的也是一堆内容需要筛选,눈_눈还是自己总结一下吧。
首先说C++代码
#include
//第一种写法
cout< //第二种写法 cout.setf(ios::fixed); cout< //第三种写法 cout< 要保留几位小数setprecision(n)的括号里n就换成几。前两种写法是一样的,第三种是简化写的。上面的语句写一次就行了,对之后的数字都有效。 然后说C的代码 个人感觉c的输出比较简单粗暴。 %f 格式化输出浮点型数据,在%之后加上“.n”即可。例如: #include int main() { float PI=3.1415926; float R=5.3; printf("面积 = %.2f\n", PI * R * R); //输出:面积 = 88.25 printf("面积 = %f\n", PI * R * R); //输出:面积 = 88.247337 printf("面积 = %.8f\n", PI * R * R); //输出:面积 = 88.24733734 return 0; } %.2f\n中的“.2”即保留两位小数//不设定保留几位小数,则默认六位 如果单纯会用就行,看到这里就可以了! 想深入理解的,继续看下面눈_눈 1.首先解释一下“语句写一次就行了,对之后的数字都有效”。在s之后设置保留两位小数之后,重新声明另一个数,输出依旧显示两位小数。所以设置精度语句只需写一次就可以了。 #include #include using namespace std; int main() { double s=12.345; cout< cout< float pi=3.14159; cout< return 0; } 2.setprecision(n) 功能:控制浮点数显示的有效数字个数。 图中可以看出,只用setprecision(n)是控制保留几位有效数字的。 由8-9两行代码可以看出,也是只写一次就可以。8-10行可以看出,只是四舍五入修改了数字的显示方法,并不是修改原数字。从常识我们可以知道,如果12.345数字本身改变,那就是两位有效数字变为 12,那从两位有效数字改为四位有效数字会变为 12.00,而不是12.34。11-12行可以看出如果要保留的太多,是不会补上0的(往下看有补0的方法)。13行中可以看出,如果小数点前的位数多于你要保留位数,则会使用科学计数法。 2.5补充一小点showpoint 这是在尝试过程中发现的一个无聊操作,如果12.34保留两位有效数字,会显示12,但是你可以经过这个操作让它显示12. 哈哈哈哈哈哈哈注意有个“.”ヽ(•̀ω•́ )ゝ! double s=12.345; cout< cout< cout< cout.setf(ios::showpoint);//或者写cout< cout< 3.fixed setprecision(n)和fixed合用的话可以控制小数点后有几位。 只要加上以下任意一个语句就可以。 cout< cout.setf(ios::fixed); cout< 然后你会发现,如果你要保留的位数多于数字原来的小数,就会补上0。 _(:3 」∠) 我是萝莉安,梦想是做个程序媛…… 有CSDN账号的帮我点个赞或者评论一下吧,不愿意也不强求啦。 你们点赞评论我才会得积分,才会升等级,等级高了才能给博客换好看的皮肤🥰🥰