将字符串转换为浮点数 -> 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:无法将字符串转换为浮点数:'2100 - 2850'