parseXXX將String字符串“1/2”轉Int、Double
實際工作中遇到不得不將帶有"/"除號的分數字符串轉成double,怎麼辦?
如果使用如下方式將“1/2”轉成double類型
Double.parseDouble("1/2");
則會出現以下Exception:
Exception in thread "main" java.lang.NumberFormatException: For input string: "1/2"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
根本就不認識這啥玩意兒,怎麼辦?百度下,沒找到哦,自己寫一個吧。
public class DivisionResult {
/**
* 根據帶有“/”的字符串獲得該字符串應該的double值
* @param num example: 1/2
* @return double
*/
public static double getResult(String num) {
if(num.contains("/")){
String [] str = num.split("/");
return Double.parseDouble(str[0]) /Double.parseDouble(str[1]);
}else {
return Double.parseDouble(num);
}
}
// test
public static void main(String[] args) {
System.out.println(DivisionResult.getResult("1/2"));
}
}
經過測試,運行結果正確。是不是覺得看完之後,啥B玩意兒,看完和沒看一樣,誰不會啊。對啊,誰都會,隨便寫寫,希望對新人有幫助。如果不是想把自己遇到過得問題整理下都不想寫出來,這篇文章讓人怪不好意思的,哈哈哈。