Re: [問題] 取整數問題[會自動進位]
※ 引述《hahakyo (大豪院邪鬼)》之銘言:
: 如題
: 舉例而言
: double d1 = 4.9999; //想要抓出整數位4 可利用
: int c1 = (int)d1; //如此c1可得我想要的值4
: 但是. 當小數點位數太多時 例如 d1=4.99999999999999999999;
: 那麼以我上面的寫法 得到的數值會變5 也就是自動進位了
: 實際上 我要處理的數據大概是這樣的形式: d2=0.1234567899999999999999999
: 我要抓出第8位數.也就是8這個數[前幾位抓到也沒關係]
: 我先把d2乘以10的8次方 變成12345678.99999999999999999
: 想抓出整數12345678
: 但至今試過許多方法.仍然會取成12345679
: 想請教一下 該如何處理這樣的問題呢?
: 感謝
好吧....說實在的,我不清楚你要的邏輯是啥?但是.....我剛用String轉
完全沒有進位問題,程式碼如下:
double number = 0.1234567899999;
System.out.println(String.valueOf(number).substring(0,10));
我會捉到的東西是 0.12345678,螢幕也是這樣顯示,so....小數點下第八位
對String而言是第10個character....捉了就中了....
您要不要再試試?(其實最主要還是要看您需要解題的邏輯長怎樣,不然用暴力法對單
一個案根本沒有意義....)
搞不好NumberFormat這個class就可以解您的問題也說不定....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.107.41
推
10/23 23:19, , 1F
10/23 23:19, 1F
推
10/23 23:26, , 2F
10/23 23:26, 2F
推
10/24 01:09, , 3F
10/24 01:09, 3F
推
10/24 12:00, , 4F
10/24 12:00, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):