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

Posted

技术标签:

【中文标题】将字符串转换为浮点数 -> Processing.org【英文标题】:Converting String to Float -> Processing.org 【发布时间】:2012-04-06 18:21:05 【问题描述】:

我正在尝试将字符串纬度和经度坐标转换为浮点数,因为我将它们绘制在地图上。我尝试了多种方法,但它无法正常工作。任何帮助将不胜感激!

这是我的字符串:

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

【问题讨论】:

float lon = Float.valueOf(r).floatValue(); 不起作用有什么原因吗?给定您的字符串为"42.202344",它应该为您提供42.202344 的值。 我不确定这是不是你的情况,但不要忘记,字符串表示也取决于语言环境。 【参考方案1】:

你看过静态方法Float.parseFloat()吗?它可能会让您的工作更轻松:

float lon = Float.parseFloat(r);

【讨论】:

【参考方案2】:

尝试使用"[^\d\.]" 或替换“。”也是。

【讨论】:

以上是关于将字符串转换为浮点数 -> Processing.org的主要内容,如果未能解决你的问题,请参考以下文章

我收到 ValueError:无法将字符串转换为浮点数:'8,900' [重复]

ValueError:无法将字符串转换为浮点数:'Bad'

ValueError:无法将字符串转换为浮点数:'2100 - 2850'

将标签从字符串转换为浮点数

ValueError:无法将字符串转换为浮点数:'62,6'

ValueError:无法将字符串转换为浮点数:'Mme'