Re: [問題] 關於double 或 int 輸出問題
※ 引述《H45 (!H45)》之銘言:
: ※ 引述《polomoss (小澤)》之銘言
: 我的推文方案根本和原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 再比較就知道有沒有非零小數了
這個方法可以適用耶.......
不過我有點不太懂你format()函式裡的判斷方式
可以稍微解釋一下 long 那邊嗎??
另外這邊應該也有許多C/C++的強者大大
想問跟JAVA相比,這個問題的困難度是較高還較低??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.198.5
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 4 之 8 篇):