2017-04-03 26 views
-1

在我的應用程序中,我從Web獲得一些項目價格的雙倍,然後我必須乘以項目數量和顯示在一個文本視圖。 雙原值爲0.65340002596378299 我所想要的是0.65只有我使用此語句用於此目的浮動值得到增加2 [ANDROID]

float itemprice = Float.valueOf(String.format("%.2f", price)); 

下一頁時,我有6個(項目數量)乘以它,我得到這個結果3.8999999

float total=no_of_items*itemprice; 

所以我用Math.round功能讓我需要的結果是0.65 * 6 = 3.90

float total=Math.round(((no_of_items * itemprice) * 100.0)/100.0); 

我得到了4.0的最終結果,但我想確切3.90 如何可以做到這一點? 任何幫助將不勝感激。

+0

很顯然,你應該瞭解一些基本知識......你明明可以使用Math.round後您mutiply它用N,然後其中N爲10 N個分吧^ k爲了得到k個小數位數的精確度'double N = 10^k;雙舍入= Math.round(價格* N)/ N;'...也可以是3.9但你可以顯示它爲3.90與右格式 – Selvin

回答

0

試試這個它的結果是3.9:

double price = 0.65340002596378299; 
float itemprice = Float.valueOf(String.format("%.2f", price)); 
float no_of_items = 6; 
float total=(no_of_items * itemprice); 
float itemp = Float.valueOf(String.format("%.2f", total)); 
+0

結果是3.9,應該是3.90 – User

+0

@用戶我編輯了我的答案它給你3.9想要 – DkThakur

+1

@用戶保持你的號碼小數點twi你可以使用這個 '新的DecimalFormat(「0.00」)。格式(doubleValue)' – Kunu