字符串到浮点转换

时间:2016-02-02 05:52:21

标签: arduino gps xbee

我正在使用Arduino Uno通过XBee传输GPS值。我通过使用long完成了这个,现在我尝试使用float。数据为11.235689, 76.365879

如何解析并将字符串转换为float?

2 个答案:

答案 0 :(得分:1)

您可以使用:

char floatbuf[32]; 
coordinates.toCharArray(floatbuf, sizeof(floatbuf));
float f = atof(floatbuf);

您可以看到更多here

答案 1 :(得分:0)

感谢您的回复,这就是我从字符串转换为float的方式

String data; // declare this before void setup

data=XBee.readStringUntil('\n');  //reads XBbee data to string
int commaIndex=data.indexOf(',');   
int secondcommaIndex=data.indexOf(',',commaIndex+1);
String data1=data.substring(0,commaIndex);
String data2=data.substring(commaIndex+1);

char charBuff[10];
data1.toCharArray(charBuff,10);
float input_lat= atof(charBuff);
Serial.print("input_lat: ");
Serial.println(input_lat,6);

char chaBuff[10];
data2.toCharArray(chaBuff,10);
float input_lng= atof(chaBuff);
Serial.print("input_lng: ");
Serial.println(input_lng,6);