行,所以我有一個數據庫科拉姆的「單價」與值的範圍 例如:23,23.5,43.23需要一套浮點型變量的格式化,以00.00
現在我需要知道,如果有一種方法在打印出來時將它們全部格式化爲00.00格式。我一直在這裏失敗了大約一個小時...
行,所以我有一個數據庫科拉姆的「單價」與值的範圍 例如:23,23.5,43.23需要一套浮點型變量的格式化,以00.00
現在我需要知道,如果有一種方法在打印出來時將它們全部格式化爲00.00格式。我一直在這裏失敗了大約一個小時...
只要做到這一點:
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]);
}
您正常使用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="€" />
使用浮點數據類型,如'float'或'double'錢(你提到'UnitPrice')是一個壞主意。我希望這不是一個真正的生產就緒軟件... – Jesper 2010-06-05 21:22:44