How to strip trailing zeros
A client came to me with another string formatting problem. I would never recommend formatting strings in T-SQL, but rather to do formatting on the client side. The question was to strip trailing zeros from a numeric value stored in a string but retain the decimals when they are not zero.
1.0501 | needs to show | 1.0501 |
1.0500 | needs to show | 1.05 |
1.0000 | needs to show | 1 |
CREATE FUNCTION dbo.fn_strip_zeros(@number numeric(38,10)) RETURNS varchar(38) WITH ENCRYPTION AS BEGIN DECLARE @result varchar(38) DECLARE @decimal varchar(3) SET @decimal = substring(convert(varchar(38), convert(numeric(38,10),1)/5 ), 2,1) set @result = rtrim(replace(replace(rtrim(replace(@number,'0',' ')),' ','0') + ' ', @decimal + ' ', '')) RETURN @result END GO