根据公司财务部的要求,需要在ERP报表中的数字输出格式需要在小数点前的0也要显示,且如果数字是整数,那么整数后面最好不要把0(精度)带出来。
正常情况下,无任何格式的输出是.1(0.1),财务的会计员看多数字时会把.1(0.1)看成1,对于这种只是显示小数点前面的0,根据网上关于ORACLE的格式输出是很好解决的,如:
x =0.1
TO_CHAR(x,'fm9999990.9999') → 0.1
但是现在出现了一个问题,如果是x=10,那么跟显示就会为10. ,在后面会多一个小数点,这样很不好看,怎么才能显示实际的输入,在网上找了ORACLE 的另外一个字符处理函数rtrim,所以现在这些按照如下的更改即可:
x =10
RTRIM(TO_CHAR(x,'fm9999990.9999') ,'.') → 10
这样处理过以后,如果是整数正常显示为整数,如果是小数则是以保留4位精度显示。