我知道如何格式化像9.78313E + 10这样的双重格式,它在Java中显示97831300000.
但我有一个MVC应用程序,在视图部分有一个getter的getter:
<td>
<input type="number" step="0.00000001" th:placeholder="'Current: '+ *{product.getTop()}" name="top"/>
</td>
我的问题是该视图现在显示9.78313E + 10。
解决方法是该对象的第二个getter,它将double格式化为String并返回它。
是否有一种更优雅的方法来解决问题与Thymeleaf ?
答案 0 :(得分:2)
Thymeleaf确实提供了一个帮助您格式化数字的功能。请查看formatDecimal的官方文档。
String formatDecimal(Number target, Integer minIntegerDigits, Integer decimalDigits)
第一个参数是您要格式化的数字。第二个参数是整数部分显示的最小位数,第三个参数是小数部分显示的最大位数。因此,在您的示例中,您希望将9.78313E+10
格式化为97831300000
,#numbers.formatDecimal(9.78313E+10, 11, 0)
可以完成相应的操作。