2015-05-24 25 views
0

我正在使用DecimalFormat's格式方法來格式爲6位小數的float值。所以我正在使用,Decimalformat的格式方法返回數字,而不是零

Float f = new Float("52.2815"); 
DecimalFormat decfo = new DecimalFormat("#0.000000"); 
String k = decfo.format(f); 

我想打印52.281500。但它打印52.281502。如何獲得52.281500

回答

0

這是因爲浮點沒有足夠的位,因此輸出數據會變差。您可以使用Double。

import java.text.DecimalFormat; 

public class Solution { 

    public static void main(String[] args) { 

     Double f = new Double("52.2815"); 
     DecimalFormat decfo = new DecimalFormat("#.000000"); 
     String k = decfo.format(f); 
     System.out.println(k); 
    } 
} 

輸出:

52.281500