我正在android中構建一個基本的計算器功能。 但是,當結果顯示在TextView中時,我正面臨着將數字四捨五入的問題。如何在不損失精度的情況下取得結果android
我正在做123456789 * 123456789的乘法,並得到我無法在我的TextView中適應的結果。 此外,上述操作的實際結果是在Android內置計算器中執行時的1.5241E16。 任何人都可以告訴我,我怎樣才能在我的計算器應用程序中實現這個結果? 下面是小片段約我想做的事:
public static double round(double unrounded, int precision, int roundingMode)
{
BigDecimal bd = new BigDecimal(unrounded);
BigDecimal rounded = bd.setScale(precision, roundingMode);
return rounded.doubleValue();
}
num = num * Double.parseDouble(txtCalc.getText().toString());
num = round(num, 3, BigDecimal.ROUND_HALF_UP); //where 3 is the precision of number
plz幫助我達到的效果1.5241E16 1 ... 9 * 1 .... 9
我很困惑,什麼結果都你得到了嗎?科學計數法**確實會失去準確性。 1.5241E16僅僅意味着答案大致爲1.5241 * 10,000,000,000,000,000,這意味着如果您可以決定要顯示多少個小數位,則可以將您的數字除以10^X並連接結果。 – Ali
雅,就像我也只是想把我的結果彙總到1.5241E16一樣。 – YuDroid
我已在下面的答案中添加了代碼,它提供了您想要的結果。 – Ali