Re: [問題] 關於double 或 int 輸出問題
※ 引述《polomoss (小澤)》之銘言:
: 今天我需要使用者輸入兩個數來做運算
: 假設可能為
: 5 6
: 1.2 2.7
: 2.5 2.5
: 然後就是做一些運算,(加法 & 減法)
: 所以輸出就會是
: 11 -1
: 3.7 -1.5
: 5 0 --------------(1)
: 因為會有小數,所以我從一開始的運算
: 就是打輸入的String 用 Double.parseDouble 轉成 double 格式
: 所以我的輸出就會變成
: 11.0 -1.0
: 3.7 -1.5
: 5.0 0.0 ---------------(2)
: 想問有沒有大大有好的方法,讓輸出是 (1) 而不是下面帶有.0
: 是不是有什麼格式化輸出的函式可以用????
我的推文方案根本和原PO一樣....為了表示誠意,我用其他方便的方法在這邊展示
public static void main(String[] args) throws Throwable {
final double a = -0.3;
final double b = -1.0;
System.out.println("a = " + format(a));
System.out.println("b = " + format(b));
}
public static String format(double x) {
final long y = (long)x;
if (x == y) {
return String.valueOf(y);
} else {
return String.valueOf(x);
}
}
---
跑出來的結果
a = -0.3
b = -1
---
重點在 format 函式,只要把 double 轉型成 long 再比較就知道有沒有非零小數了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13
※ 編輯: H45 來自: 140.116.247.13 (06/04 18:26)
→
06/04 18:27, , 1F
06/04 18:27, 1F
推
06/04 19:55, , 2F
06/04 19:55, 2F
討論串 (同標題文章)