如何格式化数字并输入

时间:2018-07-30 08:36:12

标签: jsp jstl

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

<?php
if(!empty($_SESSION['error'])){
?>
<div id="error_message"><?php echo $_SESSION['error'] ?></div>
<?php
    unset($_SESSION['error']);
}
?>
<form class="needs-validation "  action="save.php" method="post" novalidate >
    <h3 class="dark-grey-text text-center">
        <strong><i class="fa fa-user"></i> Login</strong>
    </h3>
    <hr>

    <span id="error_message" class="alert alert-danger"></span>

    <div class="row" style="margin-left:300px;">
        <label>Date:</label>
        <span id="date" name="date"></span>             </div>
    <div class="row" style="margin-left:300px;">
        <label>Time:</label>
        <span id="clock" name="time"></span>             </div>

    <div class="md-form form-sm mb-5" style="margin-top:05px;">
        <i class="fa fa-user prefix"></i>
        <input type="text" id="username3" name="username3" class="form-control form-control-sm " required>
        <label for="modalUsername">Username</label>
        <div class="invalid-feedback" style="margin-left:30px">
            Enter username.                 </div>
    </div>

</form>

问题是inpput为空不会加载该值,因为如果我这样做

<%@ 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}" />"

数字以正确的形式打印。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

使用var上的fmt:formatNumber属性存储结果并在输入中使用结果,并确保您使用的语言环境提供了浏览器可以使用的数字:

<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}"/>

尤其是语言环境,这使它变得很丑陋,所以我真的建议您看看

另请参阅: