我有以下代码:
<td><input type="number" step="0.00000001" th:value="${product.getNumber()}" name="number"/></td>
getNumber
会返回一个普通的双倍1.0E-8
我的问题是:
我希望它不会显示1.0E-8,而应该显示0.00000001。
此外,像0.0001这样的数字用逗号表示,如0,0001
我尝试使用http://www.thymeleaf.org/apidocs/thymeleaf/2.0.15/org/thymeleaf/expression/Numbers.html,但没有成功。
知道如何实现这个目标吗?
由于
答案 0 :(得分:2)
您可以使用Thymeleaf的#numbers
实用程序(API)并相应地设置数字。
th:value="${#numbers.formatDecimal(product.number, 2, 3)}"
设置最小整数位数(上面的2)和精确的十进制数字(上面的3)。
对于分隔符,您可以直接指定它:
th:value="${#numbers.formatDecimal(product.number, 2, 3,'COMMA')}"
分隔符选项为POINT
,COMMA
,WHITESPACE
,NONE
或DEFAULT
(按区域设置)。
请记住,浏览器可能会使用不同的规则,您可能希望在某些情况下使用step="any"
。 (要使用th:text
直接打印,这无关紧要。)