C语言题指教 关于四舍五入的问题
这样,你把这个小数,乘以10的8次方,然后对结果取整(也就是强制转化为int型),然后对这个取整后的int型,再除以10的8次方,就搞定了.
如果你想四舍五入,比方说,想要3.14159,四舍五入取小数点后3位,
你可以将3.14159*1000,得到3141.59,然后再加上0.5,得到3142.09,然后再取整(强制转化为INT型),得到3142,然后再除以1000,就得到你想要的小数点后3位的四舍五入了,就是3.142.
如果不想要四舍五入,直接截取,就不要加上0.5
# incloud
int main(void)
{
float a ;
scanf(“%f”,&a);
a=(int)(a*1000+0.5)/1000.0;
printf (“%0.3f”,a);
return 0;
}
扩展资料:
其他方法实现四舍五入:
int myround(double indata,int precision,double * outdata){
long pre = 1,i;
for(i = 0; i <precision; i ++)pre = pre * 10;
if(cy_FloatCompare(indata,0.00)> 0)
* outdata =(int)((indata * pre)+0.5)/100.00;
else
* outdata =(int)((indata * pre)-0.5)/100.00;
return 0;
}
// cy_FloatCompare是浮点数与0比较的函数,假设它存在。返回值与strcmp相同。
{
long t; //定义长整形变量
float s; //定义浮点变量
h=h*1000; //将变量放大1000倍
t=(h+5)/10; //将h加上5之后除以10取整,也就是相当于对最后一位数做了4舍5入处理,整形变量在做除法的时候,小数会自动舍去
s=(float)t/100.0; //再除以100,即把数还原
return s;
}
C语言题指教 关于四舍五入的问题
long t; \/\/定义长整形变量 float s; \/\/定义浮点变量 h=h*1000; \/\/将变量放大1000倍 t=(h+5)\/10; \/\/将h加上5之后除以10取整,也就是相当于对最后一位数做了4舍5入处理,整形变量在做除法的时候,小数会自动舍去 s=(float)t\/100.0; \/\/再除以100,即把数还原 return ...
C语言一个四舍五入程序题目
比b=(int)(c*100+0.5)\/100.0;多了几个fstpl以浮点精度入栈和出栈操作,我们知道由于计算机对浮点数运算的能力比较差,所以可能在这种连续的运算中出了些比较小的出入,所以导致结果不一致。由于不同计算机对浮点数的运算能力不同,也解释了为什么不同机器结果不一样。楼主补充的问题,第一种连在一...
C语言编程:输入一个double数值,保留两位小数对第三位四舍五入。我...
double x;int y;scanf("%lf",&x);x=x*100;y=int(x+0.5);x=y\/100.0;printf("%0.2lf",x);
关于724.4999999...这类数值四舍五入的问题
如果是想直接只取结果的整数位的话就直接向下取整就行了计算式前加上 int(1150\/30*27*0.7)
36968四舍五入保留到整百是多少???
四舍五入保留到整百,意思是精确到百位数,十位和个位要四舍五入。36968,68四舍五入是100,因此把百位的9加上1,9+1=10,所以要进位,千位的6变成7,百位是0。所以36968四舍五入保留到整百是37000。
如何理解四舍五入的算法?
你好,很高兴能帮你解决问题 省略万后面的尾数 就是说,从万位后面的数全部都写成0。而万位是否要进一,就要看千位是否≥5(≥的意思是大于等于)按照四舍五入来 例如:369427 万位上是:6。千位上是:9。9>5,所以要进一。6+1=7 万位后面都要写0 所以是369427≈370000 明白了吗?不懂再...
...点位数的取舍规则:一个是四舍五入,还有一个是什么?谢谢!望指教。
四舍六入五成双 工程和统计上常用
求一个数(精确到某位数)的近视数,在什么情况下要用到科学计数法_百度知 ...
都应采取四舍五入法答案补充例如:3.258精确到十分位就是3.3,精确到百分位是3.26.19.948精确到十分位就是20.0,精确到百分位是19.95.有时必须用进一法,计算结果是205.45平方米,如果问题是至少要多少平方米的材料(得数保留整数),就应该是206平方米 参考资料:t ...
一个数四舍五入到亿位后约是30亿,另一个数改写成用“亿”作单位的数后...
改写成用“亿”作单位的数后是30亿,则这个数是30000000000。所以不能确定原来这两个数哪个大。四舍五入 是一种精确度的计数保留法,与其他方法本质相同。但特殊之处在于,采用四舍五入,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一:假如0~9等概率出现的话,对大量的被保留数据...
关于数值分析,迭代精度问题!
1.小数点后的第6位四舍五入 2.数据不能偏差超过0.00001,例如 3.小数点后的第4位四舍五入 4.小数点后的第3位四舍五入