ljsq.net
当前位置:首页 >> C语言 去掉小数点后面的数 >>

C语言 去掉小数点后面的数

有两种方法: 使用函数: #include void main() { double x,temp; int a; scanf("%lf",&x); temp=x; a=int(temp); while(a!=temp { temp=temp*10; a=int(temp); } printf("%d\n",a); } 2.使用强制转换命令:(int)f; 注意:在转换的时候,前面的...

float a = 3.1415926; float d; d = a - (int) a; // 用这个计算取得小数点后的数 printf("%f %f\n",a, d );

一。%nf 即输出的数字占n位 当原数字位数大于n时原样输出,原数字位数小于n时输出数字左端补上空格,比如原数字为a=1.23456;n为4时输出为1.23456,n为9时输出为 (空格空格1.23456) 二。%n.mf 即输出总共占n位其中有m位小数 如a=1.23456 用%4....

比如数据都是有2位小数的。可以使用如下两种办法: float x=123.45 1)int y=x*100; y%=7; 2) int y=(int)(x*100)%7;

printf("BMI:%g\n",c); -------不是%g¥n printf("标准体重:%g\n",d); 这是没有问题的。是你的程序中有错,程序没有编译成功,仍旧运行旧的程序造成的。

Note1: 正数 x 四舍五入的技巧: x --> (int)(x+0.5) 当 x=n+r, 0

可以通过%.xf或者%.xlf来限制,其中x是一个整数; 如果保留一位小数x 为1,两位为2; 以此类推; 注意%.xf的x的值不能大于7,由于float类型的精确度只有小数点后7位; %.xlf的x的值不能大于15,double类型的精确度只有小数点后15为; 通过限制小...

这样肯定不行。 用double也好float也好,都存储的不是准确的值,都是一个近似值。用浮点型运算,结果每次运算都会产生误差,导致错误。 你还是用字符串输入,然后遍历这个串吧

用%g格式符就可以了 例如:float f=3.14;printf("%g",f);

输入的时候 不要输入为小数 因为浮点数有精度问题, 会计算不准 输入为字符数组 定位小数点位置 其后的字符 统计个数就是小数位数了。

网站首页 | 网站地图
All rights reserved Powered by www.ljsq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com