www.rtmj.net > C语言精确到两位小数

C语言精确到两位小数

printf("%2f")吧 我记得是这样 f前面数字多少就是小数点后几位

#include<stdio.h> main() { double a; printf("请输入一个需要四舍五入数字:scanf("%lf",&a); double b,c; b=a*100; c=b+0.5; int d; d=(int)c; a=d/100.0; printf("四舍五入得:%.2lf\n",a); } 这个是精确到两位的,任意位的话都一样了,你改改就好

可以.如x=16.5623,则可以这么做:(int)(x*100)/100.0 结果就是16.56了

可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果.要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(float)或双精度(double).在C语言中,使用格式化输出函数printf来实现输出.输出格式为%.NF1 %为格式化字符串的引导字符.2 .N表示指定显示N位小数.3 F为类型字符,对于float, F值为f, 对于double,F值为lf.举例:1 要输出float a=1.23234; 保留3位小数的写法为:printf("%.3f",a);2 输出double b=123.345232; 保留4为小数,写法为:printf("%.4lf",b);

如果是输出的话,可以用:printf("%.4f",3.1415926);

void main() { double x; scanf("%15lf",&x); //改为15lf其中l是小写的L,表示可以接收总共15位数 printf("\n%.10lf",x); //输出带10位小数,注意10前面有个小数点,l是小写字母L.system("pause"); } 输入10位小数0.0000000002 输出0.0000000002 //注意:如果输入的数大于10位小数,则会输出一串0

35*1.0/60 输出格式%.2f开根号用sqrt()

#includ void main() { double s; scanf("%lf",&s); printf("%0.2f", s); }/*应该这样就OK了.

C语言里面,默认%f是小数点后6位,如果想小数点后面16位,写成%.16lf 不会自动四舍五入的,double是一个近似值,通常没有办法做的很精确.通常能精确到小数点后面5,6位,也就是说超过5,6位了可能就不准了.

先输出整数部分和小数点,再循环,每次乘以10输出整数部分.注意最后一位四舍五入.

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com