簡體   English   中英

如何將字符串的某些字符轉換為 Java 中的浮點數?

[英]How can I convert certain characters of a String into a Float in Java?

我一直在從網頁上抓取一些數據,在這種情況下,我只需要一個匯率。

通過網頁抓取,我得到了一個包含此信息的字符串

£559.41

但我只需要一個浮點數

559.41

我的代碼看起來像這樣(變量 datos 可用於保存浮點數)

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());
    
}}

問題的重復類型: java : convert float to String and String to float

但是要回答您的問題:如果網絡元素始終在您想要的浮點數之前有一個貨幣標記/符號前綴,您可以簡單地使用以下內容解析字符串:

tasa = ele.text().subString(1, ele.text().length());
datos = Float.parseFloat(tasa);

這將解析出前導的第一個字符 - 貨幣標識符 - 然后嘗試從字符串中獲取浮點值並讀入浮點變量數據類型。

如果字符串包含text然后是數字,那么您可以使用此正則表達式來匹配或拆分

(([1-9]\d{0,2}(,\d{3})*)|(([1-9]\d*)?\d))(\.\d\d)?$

https://regex101.com/r/PLioEH/1https://stackoverflow.com/a/17867041/2310289

然后將結果字符串傳遞給Float.valueof (str);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM