显示正常(双)而不是科学数字 - MVC应用程序

时间:2017-08-18 11:18:11

标签: java thymeleaf

我知道如何格式化像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

1 个答案:

答案 0 :(得分:2)

Thymeleaf确实提供了一个帮助您格式化数字的功能。请查看formatDecimal的官方文档。

String formatDecimal(Number target, Integer minIntegerDigits, Integer decimalDigits) 

第一个参数是您要格式化的数字。第二个参数是整数部分显示的最小位数,第三个参数是小数部分显示的最大位数。因此,在您的示例中,您希望将9.78313E+10格式化为97831300000#numbers.formatDecimal(9.78313E+10, 11, 0)可以完成相应的操作。