打印
[应用相关]

想得到浮点数的整数和小数部分

[复制链接]
679|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxmmi|  楼主 | 2020-9-2 23:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编程时,想得到浮点数的整数和小数部分,哪位有解决的办法?

使用特权

评论回复
沙发
supernan| | 2020-9-2 23:10 | 只看该作者
利用乘法的放大数据的倍数的,输出的时候在缩小相应的倍数的就可以的啦

使用特权

评论回复
板凳
llia| | 2020-9-2 23:15 | 只看该作者
同意楼上的,我一般也是这么处理的

使用特权

评论回复
地板
yufe| | 2020-9-2 23:22 | 只看该作者

float的类型 直接转换就行的。
如果串口,就转换为字符串就行的。

使用特权

评论回复
5
zhuww| | 2020-9-2 23:26 | 只看该作者
可以先乘个倍数,在分离。。

使用特权

评论回复
6
wenfen| | 2020-9-2 23:29 | 只看该作者
需要先把要进行计算的值全都强转成float类型的

使用特权

评论回复
7
songqian17| | 2020-9-2 23:32 | 只看该作者
用乘法放大输出时再缩小。。

使用特权

评论回复
8
llljh| | 2020-9-2 23:35 | 只看该作者
或者乘10000 然后获取整数和小数

使用特权

评论回复
9
wenfen| | 2020-9-2 23:43 | 只看该作者
这个就用下数据类型转换的可以实现的,需要哦一个差不多额算法就可以实现的。

使用特权

评论回复
10
juventus9554| | 2020-9-2 23:46 | 只看该作者
float t = f - (int)f; //小数点前变成0了

使用特权

评论回复
11
houcs| | 2020-9-2 23:49 | 只看该作者
用(int)强制把double型转换

使用特权

评论回复
12
xxmmi|  楼主 | 2020-9-2 23:53 | 只看该作者
提取处小数部分的思路是将浮点数不断减1

使用特权

评论回复
13
wangzsa| | 2020-9-2 23:56 | 只看该作者
直接强制转换到int型就是整数部分。

使用特权

评论回复
14
ayb_ice| | 2020-9-3 09:06 | 只看该作者
1:C有库函数
2:减法实现 int i = (int)f, float f2 = f - (f)i;
3: 放大10N倍后用整数处理

使用特权

评论回复
15
chuxh| | 2020-9-3 19:08 | 只看该作者
一般是先乘后取

使用特权

评论回复
16
xxrs| | 2020-9-3 19:14 | 只看该作者
用乘法的话 会不会影响速度

使用特权

评论回复
17
kangzj| | 2020-9-3 19:17 | 只看该作者
头文件:#include <stdio.h>

modf() 将浮点数分解为整数和小数部分,其原型为:
    double modf (double x, double* intpart);

使用特权

评论回复
18
wangpe| | 2020-9-3 19:20 | 只看该作者
我只想到了乘法

使用特权

评论回复
19
wenfen| | 2020-9-3 19:24 | 只看该作者

移位计算可以不

使用特权

评论回复
20
llljh| | 2020-9-3 19:28 | 只看该作者
判定小数点的位置 然后作为字符数进行切割

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

369

主题

4278

帖子

2

粉丝