鱼C论坛

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

[技术交流] C语言如何实现除法保留一位小数?

[复制链接]
发表于 2016-5-17 23:55:07 | 显示全部楼层 |阅读模式
1鱼币
比如:我要把5除以4的结果保留一位小数后(1.3)赋给一个变量a,然后将a 与我scanf输入的值比较,看看是否相等。
请问应该如何实现这样的过程呢?(求思路)

注意:1、不是在printf的时候保留一位小数,而是赋给变量时,就已经是保留一位小数的结果了;
2、想问一下,假如定义float a, 把1.3赋给a, 然后将a 与我scanf输入的值比较,我输入的值应该是怎么样,才能检验输入相等呢?

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

使用道具 举报

发表于 2016-5-17 23:58:33 | 显示全部楼层
应该是没办法比较的,float型的存储格式决定了没有办法用==进行比较,可以使用-0.1<a-b<0.1来验证
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-18 00:01:33 | 显示全部楼层
雾霾天 发表于 2016-5-17 23:58
应该是没办法比较的,float型的存储格式决定了没有办法用==进行比较,可以使用-0.1

那么请问,如何实现除法保留一位小数然后直接赋给一个变量? 这个做得到吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-18 00:09:56 | 显示全部楼层
其实你可以用c=a*10/b  结果c = c/10曲线救国嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-4 16:05:10 | 显示全部楼层
如果要比较是否是1.3相等 可以使用减法去做。例如 a=5/4;b是输入。然后判断  if (fabs(a-b) < 0.1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-21 21:40:25 | 显示全部楼层
曲线救国 是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-21 23:26:35 | 显示全部楼层
不知道你的目的是什么,如果不在乎效率的话就转成字符处理
在乎效率的话,似乎也可以转成字符处理……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 03:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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