www.rtmj.net > C语言精确小数点

C语言精确小数点

可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果.要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(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);

#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); } 这个是精确到两位的,任意位的话都一样了,你改改就好

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

float类型即可,整型乘以1.0即可.例如 1/2 的话,你这么写,1 * 1.0 /2

可以在输出的时候限制小数点位数. 1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字.其中.2就是代表保留两位,如果要保留三位就是%.3f.用%.0f就是只输出整数. 2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数.

12687.325195 小数位数6位12687.3251956 小数位数7位问题是 float 只有 7 位数有效数字.12687.325195 只能精确到 12687.32尽管你可以叫它打印很多位printf("%15.7f\n",b)用双精度:double b=12687.3251956;printf("%15.7lf\n",b);

lf前加上点7 printf("%.7lf\n",i);

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

int的作用是将后面计算结果强制数据类型转换为int, 换句话说舍弃小数部分:i*10=123.4(i*10)+0.5=123.9 如果原小数点后第2位>=5,这个加法会导致进位,在整数部分实现四舍五入(int)((i*10)+0.5)=(int)(123.9)=123 取整实现舍弃后续位(int)((i*10)+0.5)*0.1=12.3

一.%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为(空格空格1.23456) 二.%n.mf 即输出总共占n位其中有m位小数 如a=1.23456 用%4.2f输出为1.23如果用%5,1f输出为123.4即长度为5小数为1!这里也有当原数字长度小于n时左端补空格这个规则!还有就是当n前面有个负号时即%-nf或%-n.mf时就右端补空格!

友情链接:ymjm.net | ydzf.net | 369-e.com | qwrx.net | xcxd.net | 网站地图

All rights reserved Powered by www.rtmj.net

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