在 Spring 中格式化 BigDecimal

Kur*_*aki 3 java spring spring-mvc bigdecimal jakarta-ee

我正在使用带有 JPA 的 Spring 3。

我有这样的产品类:

@Entity
@Table(name="products")
public class Product {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private long id;

    @Column(name="price", precision=12, scale=2)    
    private BigDecimal price;
Run Code Online (Sandbox Code Playgroud)

问题是,当我用“1.20”这样的价格填写我的产品创建表单时,我的视图中会出现“1.2”。尾随零消失。

我怎么解决这个问题?

Kev*_*sox 5

您可以使用JSTL格式 taglib 来格式化BigDecimal.

要将BigDecimal包含 a格式化Product为属性并price通过Productusing实例引用该字段JSP EL

<fmt:formatNumber value="${product.price }" minFractionDigits="2"/>
Run Code Online (Sandbox Code Playgroud)

您还应该包括JSTL FMT标签库:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Run Code Online (Sandbox Code Playgroud)

并且需要将 JSTL API & Implementation Jars 放在您的类路径上:

Jar 文件