我有个问题。在我的jsp页面中,我有一个接受货币值的文本字段。当我输入诸如66777764的值时,每当出现验证错误时,它将在我的文本字段中变为6.6777764E7。我知道这不会影响保存在数据库中的值,但我认为它会误导/使用户感到困惑。请帮忙。提前致谢。

最佳答案

看来您将号码保留为double,所以66777764实际上是66.777764.0,它显示了您得到的信息。

您可以使用DecimalFormat设置数字显示的格式,例如:

double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d)); // will print 1.23

这将在点(66777764.00)后显示2位数的数字,格式有很多选项,请查阅文档以获取信息。

07-24 21:23