我想返回一個有2位小數的雙精度(即123.00)。以下是代碼的一部分。輸出總是123.0。如何獲得小數點後兩位?如何返回帶有兩位小數的雙精度值?
public static double getPrice(){
double price = Double.valueOf(showInputDialog("Stock's price : "));
DecimalFormat rounded = new DecimalFormat("###.00");
double newPrice = Double.valueOf(rounded.format(price));
System.out.println(newPrice);
return newPrice;
}
僅供參考,如果您使用的是貨幣,您最好*不要*使用浮點數。 – 2013-03-17 07:43:29
有一個'雙精度小數點後兩位'。他們根本沒有小數位:他們有二進制位。如果您想要小數位,則必須使用小數基數,即BigDecimal。 – EJP 2013-03-17 10:48:28