簡體   English   中英

如何從像這樣的字符串中提取double

[英]how to extract double from a string like this

如何從字符串中提取double值?

例如, s= "1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7"

如何提取double值,並將其存儲為變量?

您可以使用模式匹配並抓取匹配部分

Pattern p = Pattern.compile("[0-9]*\\.?[0-9]+");
Matcher m = p.matcher("1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7");

while (m.find()) {
  System.out.println(m.group());
}

然后,您可以根據您的要求將所有匹配的數據收集到List<Double>List<Float>

要收集運算符,您還需要添加另一個模式以查找ORing部分

([0-9]*\.?[0-9]+)|(\+|-|\/|\(|\|\)|\*)

看到

暫無
暫無

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

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