如何格式化数字并输入

How format number and put in input

我有一个输入数字,我必须接受带有 34,34 两位小数的 vlaue,所以我的代码是:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false"%>
    <input type="number" min="0" name="price" pattern="0.00"
                        step=".01" required
                        value="<fmt:formatNumber type = "number" 
                        pattern="0.00" value = "${home.price}" />"

问题是输入为空没有加载值,因为如果我这样做

<label><fmt:formatNumber type = "number" 
                    pattern="0.00" value = "${home.price}</label>

数字以正确的形式打印。谁能帮帮我?

使用 fmt:formatNumber 上的 var 属性存储结果并在您的输入中使用它,并确保您使用的区域设置提供浏览器可以使用的数字:

<fmt:setLocale value="en"/>
<fmt:formatNumber type="number" 
                  pattern="0.00" value="${home.price}"
                  var="myNum"/>
<input type="number" min="0" name="price" pattern="0.00"
                    step=".01" required
                    value="${myNum}"/>

特别是语言环境让这很丑陋,所以我真的建议看看

另请参阅:

  • Localization of input type number (JSP)
  • JSTL formatNumber for JSP custom pattern independent from language
  • Formatting a double in JSF