打印

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

[复制链接]
1019|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

粉丝