我知道如何格式化像 9.78313E+10 这样的 double 值,使其在 Java 中显示 97831300000。
但是我有一个 MVC 应用程序,并且在 View 部分有一个用于 double 的 getter:
<td>
<input type="number" step="0.00000001" th:placeholder="'Current: '+ *{product.getTop()}" name="top"/>
</td>
我的问题是 View 现在显示 9.78313E+10。
解决方法是为该对象设置第二个 getter,将其格式化为字符串,然后返回它。
有没有更优雅的方法来使用 Thymeleaf 解决这个问题?
最佳答案
Thymeleaf 确实提供了一个功能来帮助您格式化数字。请查看formatDecimal官方文档.
String formatDecimal(Number target, Integer minIntegerDigits, Integer decimalDigits)
第一个参数是您想要格式化的数字。第二个参数是整数部分要显示的最小位数,第三个参数是小数部分要显示的最大位数。因此,在您的示例中,您希望将 9.78313E+10
格式化为 97831300000
, #numbers.formatDecimal(9.78313E+10, 11, 0)
确实做到了这一点。
关于java - 显示普通( double )而不是科学数字 - MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755374/