2013-07-16 30 views
1

如何限制整個數字本身的位數不只是小數點後數字的小數部分?如何使用DecimalFormat方法在小數點前更改數字的大小

例如將數字54321.12574857f與DecimalFormat(「## 0。##」)方法結合使用;它應該返回543.12或321.12,小數點後的兩位小數是正確的,但是我想把小數點前的數字減少到只有3.這是怎麼完成的?

輸入號碼後54321.12574857我用的參數爲## 0 DecimalFormat的方法。##,我期待543.12,321.12或不是我收到這是54321.12

下而改變的唯一號碼DecimalFormat的方法是那些小數

  float inputNumber = 54321.12574857f; 

    DecimalFormat decimalFormat = new DecimalFormat("##0.##"); 
    String newNumber = String.valueOf(decimalFormat.format(inputNumber)); 

    System.out.println(newNumber); 
+0

你爲什麼不使用''%什麼特別的原因嗎? – Aprian

+0

你能舉出使用%的String.format的例子嗎?當你提到% – Kevik

+0

時,我想你是在談論String.format方法。我的意思是使用'mod'運算符。 – Aprian

回答

1

後嘗試一些像這樣的事情,

DecimalFormat decimalFormat = new DecimalFormat("##0.##"); 
    String newNumber = String.valueOf(decimalFormat.format(inputNumber/100)); 
+0

這將工作,唯一的問題是,一個方法將不得不作出將數字除以其超過的數字。例如現在它是2,所以你會除以100和3超過1000,那麼我需要一個switch語句,如果其他人繼續檢查有多少。 – Kevik

+0

@Kevik其他明智的你可能無法通過這種方式刪除前導數字。 –

相關問題