帶有“/”號的分數字符串轉double類型

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玩意兒,看完和沒看一樣,誰不會啊。對啊,誰都會,隨便寫寫,希望對新人有幫助。如果不是想把自己遇到過得問題整理下都不想寫出來,這篇文章讓人怪不好意思的,哈哈哈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章