作业帮 > 综合 > 作业

double四舍五入int i = 455;double d1;d1 = 455*0.001;sprintf(amt1,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 16:49:32
double四舍五入
int i = 455;
double d1;
d1 = 455*0.001;
sprintf(amt1,"%.2f",d1);
printf("%s",amt1);
打印为 0.46
但如果d1 = 455*0.005(2.75); 打印的就为2.27(应该为2.28),为什么在这里没有进位
计算有精度,d1 = 455*0.005=2.75499999
再问: 455*0.005=2.275 输出来就是2.2750000额
再答: 你可以跟踪调试变量的值
再问: 如果我用sprintf将d1格式化到字符数组中结果是2.755不是2.75499999这种,是为什么,谢谢!