划分浮点数时丢失数字C ++(Arduino)

时间:2012-08-22 14:25:59

标签: arduino

我正在尝试从字符串读取gps读取到我的Arduino上的浮点数。字符串全部处理所有数字就好了,但当我将它除去得到一个浮点数时,我失去了4个数字。这是我的代码:

gpsStrings[0].replace(".", "");
lat = gpsRawData[0].toFloat();
lat = lat / 1000000.0;

对仍然包含小数点的字符串使用.toFloat会产生相同的结果,小数点后面只有两个数字。

示例数字:

42427898 :: 42.43 - what happens
42427898 :: 42.427898 - what I want to happen

2 个答案:

答案 0 :(得分:5)

好吧我错了,默认打印功能只使用两位精度。所以我不得不在声明中添加我想要的位数。

print(lat, 20);

将在串行监视器上提供20位精度

print(lat)

只给两个。

答案 1 :(得分:0)