如何返回NUMBER数字时,保留2位小数点?

[复制链接]
查看11 | 回复9 | 2012-7-12 18:47:29 | 显示全部楼层 |阅读模式
如:原 2314希望是 2314.00
HOW CAN I DO ?


回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
你把它乘100后,返回来在除100不就可以了?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 humz 发布
[B]你把它乘100后,返回来在除100不就可以了? [/B]

它返回的是整数,不带小数点,而我要的就是这小数点。
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
兄弟啊,你除了100后不就有小数点了吗?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
最初由 humz 发布
[B]兄弟啊,你除了100后不就有小数点了吗? [/B]

SQL> select 2341*100/100 from dual;
2341*100/100
------------
2341







回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
这样
SQL>select to_char(100,'9999.99') from dual;
TO_CHAR(
--------
100.00
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
这个我也查到,问题是:若不是100,而是100000时,这个 '9999.99' 得要多大? 如:
SQL> select to_char(2131245323,'99999999.99') from dual;
TO_CHAR(2131
------------
############
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
你数字本身有几位, 小数点前就几个9啊
SQL>select to_char(2131245323,'9999999999.99') from dual;
TO_CHAR(213124
--------------
2131245323.00
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
问题是:程序是固定的,而数字是变化的,不可预测的?HOW CAN I DO?
回复

使用道具 举报

千问 | 2012-7-12 18:47:29 | 显示全部楼层
一个最笨的办法, 不过肯定工作的。
用pl/sql, 先用lengh 找出数字长度, 再用个loop建99999.99 , 这里小数点前几个9由数字长度决定。 然后用动态sql就成了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行