Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串转换为浮点->;Processing.org_Java_Geolocation_Type Conversion_Processing_Latitude Longitude - Fatal编程技术网

Java 将字符串转换为浮点->;Processing.org

Java 将字符串转换为浮点->;Processing.org,java,geolocation,type-conversion,processing,latitude-longitude,Java,Geolocation,Type Conversion,Processing,Latitude Longitude,我正在尝试将字符串纬度和经度坐标转换为浮点,因为我正在地图上绘制它们。我尝试了多种方法,但效果并不理想。任何帮助都将不胜感激 这是我的字符串: String r = loc[1].substring(0, loc[1].length()-1); It prints out as: 42.202344 (example) float lon = float(r.replaceAll( "[^\\d]", "" )); float lon = Float.valueOf(r.replaceAll(

我正在尝试将字符串纬度和经度坐标转换为浮点,因为我正在地图上绘制它们。我尝试了多种方法,但效果并不理想。任何帮助都将不胜感激

这是我的字符串:

String r = loc[1].substring(0, loc[1].length()-1);
It prints out as: 42.202344 (example)

float lon = float(r.replaceAll( "[^\\d]", "" ));
float lon = Float.valueOf(r.replaceAll( "[^\\d]", "" ).trim().floatValue());

float lon = Float.valueOf(r.replaceAll( "[^\\d]", "" )).floatValue();

上面的所有值都会产生:4.2202344E7尝试使用
“[^\d\.]”
或您也替换“.”。

您看过静态方法了吗?这可能会让你的工作更轻松:

float lon = Float.parseFloat(r);

为什么
float lon=float.valueOf(r.floatValue()不起作用?将字符串设置为
“42.202344”
应该会得到
42.202344
的值。我不确定这是否是您的情况,但不要忘记,字符串表示也取决于语言环境。