2010-06-05 43 views
4

行,所以我有一個數據庫科拉姆的「單價」與值的範圍 例如:23,23.5,43.23需要一套浮點型變量的格式化,以00.00

現在我需要知道,如果有一種方法在打印出來時將它們全部格式化爲00.00格式。我一直在這裏失敗了大約一個小時...

+0

使用浮點數據類型,如'float'或'double'錢(你提到'UnitPrice')是一個壞主意。我希望這不是一個真正的生產就緒軟件... – Jesper 2010-06-05 21:22:44

回答

0

只要做到這一點:

DecimalFormat decimalFormat = new DecimalFormat("00.00"); 
Double[] array = new Double[] {23d, 23.5d, 43.23d}; 
for (int i = 0; i < array.length; i++) { 
    System.out.println(decimalFormat.format(array[i])); 
} 

或使用格式/ printf的語法:

Double[] array = new Double[] {23d, 23.5d, 43.23d}; 
for (int i = 0; i < array.length; i++) { 
    System.out.format("%05.2f\n", array[i]); 
} 
2

您正常使用JSTLfmt的taglib這一點。這樣,您就不需要在業務層中與此混淆,但在視圖層中,它就屬於它所在的位置。

要安裝JSTL,只是下降jstl-1.2.jar/WEB-INF/lib和使用fmt標籤庫,只是聲明它在JSP的頂部,每its documentation

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 

然後你可以使用fmt:formatNumber格式化雙打你想要的方式,在這裏與歐元爲例:

<p>The price is: <fmt:formatNumber value="${unit.price}" type="currency" currencySymbol="&euro;" />