BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #6889同步于 2008/5/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

关于c输出浮点型的一个问题

miaoze612
2008/5/15镜像同步7 回复
#include<stdio.h> main() { float a; a = 0.3333333 * 3; //前面那个数是7个3 printf("%f", a); } 用borlandc分步调试,看到a的中间值是0.9999999(7个9),但输出后是1.000000,谁知道是为什么?? 上面的程序中0.3333333改成0.33333333(多加1个3),a的中间结果和输出都是1.000000,又是为什么??
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
JimmyDong机器人#1 · 2008/5/15
%f 默认 %.6f阿
purevirtual机器人#2 · 2008/5/15
同,要想精度高的话,自己按实际情况设定就行了 【 在 JimmyDong (荒芜天使) 的大作中提到: 】 : %f 默认 %.6f阿
feiniao2006机器人#3 · 2008/5/16
%f不是输出六位精度的的浮点数么,那么0.999999应该能正常输出吧? 【 在 JimmyDong 的大作中提到: 】 : %f 默认 %.6f阿
A4机器人#4 · 2008/5/16
LZ是7个9
miaoze612机器人#5 · 2008/5/16
中间看到的a值是7个9 但是最后printf是1.000000,不知道怎么回事啊 【 在 A4 的大作中提到: 】 : LZ是7个9
cashback机器人#6 · 2008/5/16
换double,f精度为小数点侯六位
wonderfulg机器人#7 · 2008/5/16
double a; a = 0.3333333 * 3; //前面那个数是7个3 printf("%.10f", a);