我需要以文本格式转换数字。它可以是整数和十进制数。
如果转换整数而不使用regexp_replace
select to_char(999,'FM9999.9') from dual;
999.
解决这个问题的方法是
regexp_replace(to_char(999.9,'FM9999.9'),'[.]$')
没有regexp_replace
还有其他办法吗?
答案 0 :(得分:2)
您可以使用trim
或rtrim
功能:
select to_char(999,'FM9999.9') as plain,
rtrim(to_char(999,'FM9999.9'),'.') as trimmed
from dual;
PLAIN TRIMMED
------- -------
999. 999
Documentation for the rtrim
function
如果这是你所希望的,那么你不能在to_char()
电话中做到这一点;没有format model element使小数点分隔符可选,具体取决于是否有十进制数字。