Re: [問題] parse 浮點數
※ 引述《ling07 (神風特攻隊)》之銘言:
: String s="1.56789";
: float num=0;
: num=Float.parseFloat(s);
: 我知道可以用上面的方法把字串s轉成小數
: 但有沒有方法可以控制小數點的位數
: 例如假設s為1.56789
: 如何控制在parse後,只要1.56
: 先感謝了 <(_ _)>
另一種方法:
使用 Regular Expression
/*
s - 浮點數字串
n - 小數位數
*/
String truncate(String s, Integer n){
Pattern p = Pattern.compile("([+-]?\\d+)(.(\\d+))?");
Matcher m = p.matcher(s);
if(m.find()){
String newStr = m.group(1);
String fraction = m.group(3);
if(fraction != null){
if(fraction.length() > n){
return newStr + "." + fraction.substring(0, n);
}else{
return newStr + "." + fraction;
}
}else{
return newStr;
}
}else{
return s;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.75.28.114
推
12/17 19:21, , 1F
12/17 19:21, 1F
→
12/18 08:20, , 2F
12/18 08:20, 2F
推
12/18 11:40, , 3F
12/18 11:40, 3F
→
12/18 11:42, , 4F
12/18 11:42, 4F
討論串 (同標題文章)