PostgreSQL中除法结果转文本后末尾多零如何去除?
解决浮点数转文本时多余末尾0的问题
针对你遇到的问题,以下几种方法可以实现将5678.0/1000转换为5.678的需求:
方法1:使用
trim_trailing移除末尾多余的0和小数点select trim_trailing('0.' from (5678.0/1000)::text);该方法会自动去掉数值字符串末尾所有的0,若小数点后全是0,连小数点也会一并移除。
方法2:使用
to_char格式化输出select to_char(5678.0/1000, 'FM999999999.999');其中
FM用于去除多余的前导空格和末尾0,.999指定保留三位小数,可根据实际需求调整数字位数。方法3:转换为指定精度的numeric类型后转文本
select (5678.0/1000)::numeric(10,3)::text;通过
numeric(10,3)指定总位数为10、小数位为3,转换后自动截断多余的0,适合需要固定小数位数的场景。
内容的提问来源于stack exchange,提问作者DEV
相关产品推荐
相关产品推荐

