Number Formatting
Unless
the shopping cart is empty, a second
<c:forEach> action generates a list of the
contents as an HTML table with the name and price of each product. A
thing to note here is the use of the
<fmt:formatNumber>
action:
<fmt:formatNumber value="${product.price}"
type="currency" />This is an action from the JSTL
I18N formatting library, declared
by the second taglib directive at the top of the
page. It formats the number specified by the value
attribute as defined by other attributes, such as the
type attribute used here. The
currency type tells it to format the number
according to default rules for currency values. Other attributes not
used here let you define specific rules for the number of decimals to
show, where to put number-grouping characters, prefix and suffix,
etc. The number is formatted according to the rules for a specific
geographical, political, or cultural region, known as a
locale. A
locale defines things such as which
characters to use as a decimal separator, thousand grouping, and
currency symbol. Locales and all JSTL formatting actions are
discussed in detail in Chapter 14, but to give you
an idea of how formatting varies between regions,
here’s an example of the number 10000.00 formatted
as currency for USA, Sweden, and Italy:
- USA
$10,000.00
- Sweden
10 000,00 kr
- Italy
L. 10 000
In Example 10-6, the
<fmt:formatNumber> action formats the price
information for each product and the total for everything in the
cart.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access