2015-04-28 139 views

回答

2

您的問題有一個答案只要你限制多少你可以去的雙倍的小數部分。對於稍微修改問題,請考慮以下功能:通過10^digits

(d - ((int)d)) * Math.pow(10, digits) 

乘以

(d - ((int)d) 

然後給digits位數:

public static int fracPartAsInt(double d, int digits){ 
    return (int)((d - ((int)d)) * Math.pow(10, digits)); 
} 

首先我們隔離雙重的小數部分最後,我們通過截斷爲int來丟棄其餘部分。

0

你的問題是非常模糊的atleast解釋你想通過這樣做如果它總是三位小數,你可以做到這一點。

double d=9.7681; 
int a =d%1000; 
0

這個想法是分離積分和小數部分,並將它們分別轉換爲字符串。以下是詳細的步驟。

1)從浮點數中提取整數部分。

2)首先將整數部分轉換爲字符串。

3)從n中提取整數部分提取小數部分。

4)如果d不爲零,那麼請遵循以下步驟。

... .a)中通過與POW(10相乘,d)

... .B)的整數值轉換爲字符串,並追加到結果轉換分數部分到整數。

相關問題