求助 ~如何获取一个浮点数的小数部分……

2020-01-30 14:05发布

想获取一个数的整数和小数部分,想用4X4键盘 ,LED以及51单片机在proteus上仿真一个计算器,需要处理小数部分,求指导……
遇到问题,将需要处理的数(设为double value)强制获取其整数部分(integer=(long)value)后,打算其小数部分用(decimal=value-integer)求得,但是所得decimal并非理论值…………
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
jswd0810
1楼-- · 2020-01-30 17:41
你可以用整形,根据你的小数点的位数,结果化整后求余,比如你的结果是54.123,可以这样a=54.123*1000=54123,整数部分b=54123/1000=54,小数部分c=54123%1000=123
jz701209李
2楼-- · 2020-01-30 23:33
 精彩回答 2  元偷偷看……
lcofjp
3楼-- · 2020-01-31 03:42
例如
double d = 54.123;
int integer, dec;
integer = (int)d;
dec = (d - integer) * 1000;
qqq_147258
4楼-- · 2020-01-31 03:51
lcofjp 发表于 2012-9-11 15:30
例如
double d = 54.123;
int integer, dec;

技术小白请教一下。
打扰一下,这个方法。你在单片机程序使用过吗?单片机上强制转换类型占用时间多吗?
还有如果要记录一个很大的数字(连续采集的脉冲)使用long好呢?还是分出倍数的a,计数的b。超过倍数的就a+1,不超过b+1。这样是不是会节约一点时间?好像一样?
学校学的少,在自学,求指教。
shenghui12321
5楼-- · 2020-01-31 09:12
51有浮点运算么

一周热门 更多>