浮点型的打印和有效值位数问题

/*
1、printf %f 默认输出6-7个小数位数

2、float 有效位6,超过6位的不保证显示正确(有可能正确有可能错误),double有效位15,超过15位不保证显示正确

3、可以指定输出格式

4、输出指定%f,%lf没什么影响

*/

#include <stdio.h>
#include <stdlib.h>

void main()
{
  float a = 3.1415926f;    //输出6个小数位数
  printf("a=%f\n",a);      //a=3.141593

 double b = 1.2345678;    //输出6位小数
 printf("b=%f\n",b);      //b=1.234568 

 float c = 3001110001.12345678f;//同上
 printf("c=%f\n",c); //c=3001110000.000000,只保留了前6个数字正确
 
 double d = 3001.0123456789;
 printf("d=%15.10f\n",d);//d=3001.0123456789 输出15位,其中小数点10位
 
 float e = 1.123456789;
 printf("e=%.8f\n",e); //e=1.12345684 只保证前7位数据有效,精度不到小数8位 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值