c语言 如何将一个实数四舍五入成两个小数
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/13 10:10:04
强制类型转换啊!将int转换成float型!#includevoidmain(){inta=2,b=5;intd;floatf;d=b/a;f=(float)b/a;printf("d=%d\n",d
强制类型转换,例如m=1.24,你用int(m)就可以得到1.
这个问题还是蛮简单的:#include <stdio.h>#define N 100int main(){ &nb
#include#includemain(){doublea=1.25;intn=1;a=(double)((int)(a*pow(10,n)+0.5))/pow(10,n);printf("%.1f
floatx;.int(x+0.5);
可以用ios里面一个控制,可以百度下.
#include"stdio.h"#include"math.h"void main(){ int i,j=NULL,
可以写个函数intsheru(doublei){doublea=i-(int)i;//求此浮点数的小数部分if(areturnint(i);//如果小数部分小于0.5.则返回整数部分.double强制
数字在A1B1输入公式=ROUND(A1,-1)再问:不是单指这两个数,以此类似的也要像这样四舍五入比如204变200,302变300,471变470等再答:你可以试一下,看看能不能达到你要的效果,实
很简单,假如你有一个float型变量a,其值为1.23456,而你只想保留三位小数,也就是希望得到1.235,只需要令:a=(int)(1000.0*a+0.5)/1000.0即可.如果要保留四位小数
%.nf,其中n是字面常量,功能是输到小数点后面的第n位,第n+1位“四舍五入”.下面是在VC++6.0环境下的测试结果./*0.2345620.2350.23460.23456Pressanykey
有差别,第一个不会做四舍五入的,它精确的进行了计算,第二个是正确的,进行了舍运算,这个运算是在(int)的时候利用类型转换做的如果你输出的结果是一样的,我怀疑是你在输出的时候指定了输出精度,你检查一下
调整ESP的值可以调整误差的精度.#include#defineESP0.00001main(){doubleb=0.9834;doublea=0.0003;if(fabs(b/a-(int)(b/a
#include "stdio.h"int main(){ double x; int y;&n
#include#include#defineE2.7182voidmain(void){floatx;floaty;scanf("%d",&x);if(x>=-1)y=pow(x,2)+1;
((int)(2.556*100))/100.0
你要知道long的话是不计小数的,比如2/5是等于2,不是等于2.5所以加0.5再转换成long的话就可以四舍五入了比如你最后结果得1.2,加0.5之后得1.7,转成long的话就是1比如你最后结果得
scanf函数你用错了scnaf("%lf",&j);你换成这个试试看
doublea,b,c;scanf("%lf",&a);scanf("%lf",&b);scanf("%lf",&c);printf("%.1lf",(a+b+c)/3+0.05);
以下仅为个人意见,不保证正确我把楼主给的几种情况都反汇编了之后发现,b=a*100+0.5;b=(int)(b);b=b/100;或b=b/100.0两种结果一样分开写时.80483fb:8b45e8