mysql中存放的数据小数部分包含两个00,用hibernate取出后只能显示一个0?为什么?
数据在数据库中设置为DECIMAL(20,2)类型,如数据库22.00在程序中对应字段设置为DOUBLE类型,取出时却为了22.0,为什么不是22.00?...
数据在数据库中设置为DECIMAL(20,2)类型,如数据库22.00
在程序中对应字段设置为DOUBLE类型,取出时却为了22.0,为什么不是22.00? 展开
在程序中对应字段设置为DOUBLE类型,取出时却为了22.0,为什么不是22.00? 展开
2个回答
展开全部
Hibernate取出以后是java类型, 这时要用DecimalFormat 或者 fmt:formatNumber 来对这个java类型格式化.
追问
(df.format(1.00));得到的是String类型,转换不成Double啊?强行转换也转不了Double类型,
其实我用从hibernate取出后得到的是一个list集合,集合中有一个price字段,我在jsp中用循环显示price
在数据库中price 为22.00
显示时却为了22.0?求解!
追答
在JSP中循环一个列表用,
在JSP中用fmt:formatNumber来设置只显示2位小数.
这个可以满足你的要求, 另外说一下, String转换成Double 要用Double.parseDouble()
展开全部
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(1.00));
结果 是1.00
数据需要处理下
System.out.println(df.format(1.00));
结果 是1.00
数据需要处理下
更多追问追答
追问
(df.format(1.00));得到的是String类型,转换不成Double啊?强行转换也转不了Double类型,
其实我用从hibernate取出后得到的是一个list集合,集合中有一个price字段,我在jsp中用循环显示price
在数据库中price 为22.00
显示时却为了22.0?求解!
追答
你前台显示肯定是string 难道你要前台显示也是double?
你可以用string类型的list接受 做下处理啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询