【求助】数据类型转换问题

[复制链接]
1485|3
 楼主| 啥是arm 发表于 2013-8-6 17:56 | 显示全部楼层 |阅读模式

        float        j = 1.01;

        j = j-(unsigned int)j;
        if(j == 0.01){
                Led_1 = 0;               
        }
其实我的目的是想把j这个数的小数部分提取出来,但是j = 1.01的话,提取出来的小数部分不为0.01,但是如果是1.11的话,就可以把小数部分0.11提取出来,就是说j这个数的十分位为零的话,提取小数就不正常。
我用的单片机是stc12c5a60s2,编译环境是keil。
ayb_ice 发表于 2013-8-7 08:40 | 显示全部楼层
先*10,再换成整数,再%10就取出了一位小数
这个名字2 发表于 2013-8-7 09:48 | 显示全部楼层
#include <STC12C5A.H>
#include <math.H>
void main()
{
float a=0.0,c=0.0;
int b=0;
a = 10.687238789;
b =  floor(a);  //用取整函数
c = a-b;

}     

用取整函数,变量c就是a的小数部分
sunhq02 发表于 2013-8-7 09:59 | 显示全部楼层
extern float ceil  (float val);
extern float floor (float val);
在MATH.H头文件里面,标准库函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

181

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部