mysql中存放的数据小数部分包含两个00,用hibernate取出后只能显示一个0?为什么?

数据在数据库中设置为DECIMAL(20,2)类型,如数据库22.00在程序中对应字段设置为DOUBLE类型,取出时却为了22.0,为什么不是22.00?... 数据在数据库中设置为DECIMAL(20,2)类型,如数据库22.00
在程序中对应字段设置为DOUBLE类型,取出时却为了22.0,为什么不是22.00?
展开
 我来答
tq02ksu
2011-05-06 · TA获得超过103个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:78.3万
展开全部
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()
百度网友00dbe5c
2011-05-06 · TA获得超过104个赞
知道答主
回答量:77
采纳率:0%
帮助的人:82.5万
展开全部
DecimalFormat df = new DecimalFormat("0.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接受 做下处理啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式