一 前记
最近涉及到把各种传感器的数据通过wifi和bt传输出去,这就涉及到了浮点传输的问题,为了方便传输,笔者的做法一般是把小数和整数部分分开,分别传输,这就比较简单明晰了。
二 方法论
其实,把浮点拆解成两个部分,有好多方法的,这里我就把两三种常用的做一个总结,方便后续的朋友和自己来使用吧。
A 减法:
#include <stdio.h> int main() { double test = -12.1234; int a_int = (int)test; int b_int = (test - a_int)*10000; printf("a_int:%d b_int:%d ",a_int,b_int); return 0; }
B 函数法:
#include <stdio.h> #include <math.h> int main() { double x=3.1415, intpart; //为变量赋初值 double fractpart = modf(x, &intpart); //求3.1415的小数部分 printf("intpart: %lf fractpart: %lf ", intpart, fractpart); return 0; }
三 总结
这种实现方法还有很多,这里只列出最简单两种吧,笔者认为,大道至简,无论什么产品和解决方法,都是越简单越显示水平啊。最后送一句话:
普天之下莫非王土,率土之滨,莫非王臣。把属于自己位置的事情做好就行了。