鱼C论坛

 找回密码
 立即注册
查看: 2384|回复: 6

如果两个double型的数值运算,怎么让计算机自动处理小数位数

[复制链接]
发表于 2014-7-29 18:05:29 From FishC Mobile | 显示全部楼层 |阅读模式
2鱼币
本帖最后由 风之残月 于 2014-11-10 10:12 编辑

如3.3+6.1=9.4而不是9.400000,怎么弄啊

最佳答案

查看完整内容

9.4=9.400000。即使后面添加一万个0也是一样的 只是显示问题而已,当然你可以选择不显示 比如printf函数 可以以%g输出便是你要的结果 %g 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0双精度实数 双精度实数,刚好符合你的要求自动处理小数位。不用手动精确 例子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-29 18:05:30 | 显示全部楼层
本帖最后由 メ㊣逆ご帅☆ 于 2014-7-29 19:37 编辑

9.4=9.400000。即使后面添加一万个0也是一样的
只是显示问题而已,当然你可以选择不显示
比如printf函数
可以以%g输出便是你要的结果
%g  选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0双精度实数
双精度实数,刚好符合你的要求自动处理小数位。不用手动精确

例子
#include <stdio.h>
int main()
{
        double a,b;
        a=3.3;
        b=6.1;
        printf("相加结果:%g\n",a+b);
        return 0;
}



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-29 18:56:28 | 显示全部楼层
%-2f
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-29 19:29:32 From FishC Mobile | 显示全部楼层
用%.2lf,小数点后用来确定他的精确位数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-29 20:05:17 From FishC Mobile | 显示全部楼层
メ㊣逆ご帅☆ 发表于 2014-7-29 19:01
9.4=9.400000。即使后面添加一万个0也是一样的
只是显示问题而已,当然你可以选择不显示
比如printf函数
...

谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-29 20:12:18 | 显示全部楼层
4楼正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-29 21:14:58 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 16:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表