我一直在从网页上抓取一些数据,在这种情况下我只需要一个汇率。
通过webscaprapping,我得到了一个包含此信息的字符串
¢559.41
但我只需要一个带有此
的浮点数559.41
我的代码看起来像这样(变量数据可以用来保存浮点数)
public static void main(String [] args) throws IOException{
float datos = 0;
String tasa = null;
Document d = Jsoup.connect("http://indi-eco.appspot.com/tcd").timeout(6000).get();
Elements ele= d.select("span#lblRefSellMsg");
tasa = (ele.text());
}}
答案 0 :(得分:1)
问题的重复:java : convert float to String and String to float
但要回答你的问题:如果网页元素总是在你想要的浮点数前面加上一个前缀的货币标记/符号,你可以简单地用以下内容解析字符串:
tasa = ele.text().subString(1, ele.text().length());
datos = Float.parseFloat(tasa);
这将解析前面的第一个字符 - 货币标识符 - 然后尝试从字符串中获取浮点值并读取浮点变量数据类型。
答案 1 :(得分:0)
如果字符串包含text
然后是数字,那么您可以使用此正则表达式进行匹配或拆分
(([1-9]\d{0,2}(,\d{3})*)|(([1-9]\d*)?\d))(\.\d\d)?$
请参阅https://regex101.com/r/PLioEH/1和https://stackoverflow.com/a/17867041/2310289
然后将结果字符串传递给Float.valueof (str);