我正在尝试从字符串读取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
答案 0 :(得分:5)
好吧我错了,默认打印功能只使用两位精度。所以我不得不在声明中添加我想要的位数。
print(lat, 20);
将在串行监视器上提供20位精度
print(lat)
只给两个。
答案 1 :(得分:0)
你想使用Double而不是float。
有关详细信息,请参阅http://en.wikipedia.org/wiki/Primitive_data_type和http://en.wikipedia.org/wiki/Double_precision#Double-precision_examples。