Thymeleaf:将逗号双精度转换为点双精度

时间:2018-03-14 19:11:06

标签: html thymeleaf

我有以下代码:

  <td><input type="number" step="0.00000001" th:value="${product.getNumber()}" name="number"/></td>

getNumber会返回一个普通的双倍1.0E-8

我的问题是:

  1. 我希望它不会显示1.0E-8,而应该显示0.00000001。

  2. 此外,像0.0001这样的数字用逗号表示,如0,0001

  3. 我尝试使用http://www.thymeleaf.org/apidocs/thymeleaf/2.0.15/org/thymeleaf/expression/Numbers.html,但没有成功。

    知道如何实现这个目标吗?

    由于

1 个答案:

答案 0 :(得分:2)

您可以使用Thymeleaf的#numbers实用程序(API)并相应地设置数字。

th:value="${#numbers.formatDecimal(product.number, 2, 3)}"

设置最小整数位数(上面的2)和精确的十进制数字(上面的3)。

对于分隔符,您可以直接指定它:

th:value="${#numbers.formatDecimal(product.number, 2, 3,'COMMA')}"

分隔符选项为POINTCOMMAWHITESPACENONEDEFAULT(按区域设置)。

请记住,浏览器可能会使用不同的规则,您可能希望在某些情况下使用step="any"。 (要使用th:text直接打印,这无关紧要。)