我有个问题。在我的 jsp 页面中,我有一个接受货币价值的文本字段。当我输入一个值时,只要出现验证错误,66777764
它就会出现在我的文本字段中。6.6777764E7
我知道这不会影响保存在数据库中的值,但我认为它会误导/混淆用户。请帮忙。提前致谢。
问问题
8571 次
3 回答
9
看起来你保持你的号码实际上是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 位数字,格式有很多选项,请查看文档以获取信息。
于 2012-12-19T07:49:15.350 回答
7
BigDecimal bd = new BigDecimal(inputVal);
System.out.println(bd);
于 2012-12-19T07:56:57.027 回答
6
使用BigDecimal保持货币价值。
double d = 66777764d;
BigDecimal bd = new BigDecimal(d);
System.out.println(bd);
阅读这个问题的答案,了解为什么应该使用 BigDecimal。
于 2012-12-19T07:52:30.077 回答