[Oracle] 对于小于1的数不显示小数点前的0

最近遇到个小需求,就是前端输入一个公式,然后使用Oracle进行运算(这样公式可以Oracle的函数)。

SELECT ${formula} FROM DUAL

但是出现一个问题,就是运算结果小于1的时候,Oracle输出的值会去掉小数点前的0。

比如计算结果为"0.01",那他就输出 “.01”。

通过百度,找到方法加上了0。

SELECT to_char(${formula},'fm999999990.999999999') FROM DUAL

但是这种方法对于整数又非常不友好,会在整数的后面加上一个"."。
比如计算结果为"200",那他就输出 “200.”。
最后无奈,用Java做处理:

// Oracle 对于小于1的数不显示小数点前的0
if (".".equals(solution.substring(0, 1))) {
    solution  = "0" + solution;
}else if ("-.".equals(solution.substring(0, 2))) {
	solution = "-0" + solution.substring(1);
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值