Re: [問題] 取整數問題[會自動進位]
: 實際上 我要處理的數據大概是這樣的形式: d2=0.1234567899999999999999999
: 我要抓出第8位數.也就是8這個數[前幾位抓到也沒關係]
: 我先把d2乘以10的8次方 變成12345678.99999999999999999
: 想抓出整數12345678
: 但至今試過許多方法.仍然會取成12345679
: 想請教一下 該如何處理這樣的問題呢?
: 感謝
: 推 drinks:用BigDecimal運算? 10/23 12:41
: TO樓上
: 我有試著用過
: 雖然BigDecimal可以在取比較精準的位數下進行加 減 乘 除的運算
: 但似乎也無法使用什麼方法將我要的整數位取出來
: 甚至最後輸出前,轉成DOUBLE.還是一樣9會自動進位
BigDecimal a;
Scanner s = new Scanner(System.in);
a = s.nextBigDecimal();
System.out.println(a.multiply(new BigDecimal("100000000"))
.setScale(0, RoundingMode.DOWN));
--
run:
0.1234567899999999999999999
12345678
BUILD SUCCESSFUL (total time: 14 seconds)
--
你可以把 method 看完, 就會發現有 setScale
太久沒寫, 都忘記是叫 method 了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.33.7
※ 編輯: ogamenewbie 來自: 218.160.33.7 (10/24 00:37)
→
10/24 12:02, , 1F
10/24 12:02, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):