2013-08-01 47 views
0

我想限制我的數字爲7位有效數字(我相信這在美國英語中被稱爲有效數字),最多有5位小數,但我確保如何執行此操作。格式化浮點數到一定長度

我目前使用的是%-7.5f,但總是打印5個小數位,即使這些位置不重要。

I.e. 3.75成爲3.75000

下面是一些例子,試圖進一步澄清,我所追求的:

3097.0 - >3097

10.39596 - >10.396

79.6103426 - >79.61034

即無前導或尾隨0,有效數字7位,最多5位小數。

我正在努力做到這一點,因爲我正在升級用QBasic編寫的舊程序,這就是它在顯示時如何格式化浮點數。我希望我的Java代碼以這種方式輸出數字,只是爲了便於比較結果。

回答

1

您可以使用DecimalFormat這個

double value1 = 10.39596; 
    double value2 = 79.6103426; 
    DecimalFormat df = new DecimalFormat("#.#####"); 
    System.out.print(df.format(value1)); 
    System.out.print(df.format(value2)); 
1

什麼

DecimalFormat format = new DecimalFormat("#.#####"); 
System.out.println(format.format(79.6103426)); 
2

我建議使用的DecimalFormat用於此目的

new DecimalFormat("#.#####").format(d) 

這種模式小數部分限制爲最多5位