转换为字符串浮点后尾随0小数

时间:2019-05-31 15:39:07

标签: amazon-redshift

在redshift中,我试图将字符串转换为浮点数,并舍入到小数点后2位。但是当我这样做时,最后我得到很多尾随0。

select 
'1.99'
, '1.99'::float
, round('1.99'::float , 2)

似乎Round函数没有任何作用。 我只想以1.99作为浮动货币而不是1.9900000000000

我正在使用DBeaver btw

2 个答案:

答案 0 :(得分:0)

在大多数语言中,round()会更改而不是数字的长度。

在我看来,您需要使用trunc()代替,或者也可以使用。

请参阅:Redshift docs

答案 1 :(得分:0)

我认为这只是您使用客户端软件看到的格式。

如果您想在sql中将其重新格式化(至1.99),则可以使用to_char这样。

select to_char('1.99'::float,'99999D99');