Oracle中关于小数百分比,增加%后0消失的问题


需求:求小数转换为百分比

例子一: select round((2/99) * 100, 2) || '%' from dual;

 

 

 当商的值大于0.01时没有问题,但是当商小于0.01时:

例子二:select round((2/210) * 100, 2) || '%' from dual;

结果为.95%   0消失了.

原因:计算占比后拼接字符串,小于1的小数中,小数点前0不显示,尝试不进行拼接,0会正常显示:

解决方法:使用to_char进行转换

例子三:select to_char(round((2/210) * 100, 2),'fm999990.9999') ||'%'  from dual;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM