SQL里面float 转为 varchar为什么会位数丢失
如我的float为1234.123 转化后要求varchar也为 1234.123
select cast(cast(1234.123 as decimal(18,3)) as varchar(50))
可以满足需求,但是小数位数不确定是无法满足
如我的float为1234.123 转化后要求varchar也为 1234.123
select cast(cast(1234.123 as decimal(18,3)) as varchar(50))
可以满足需求,但是小数位数不确定是无法满足
set @f=1234.123
select ltrim(@f)
/**
----------------------
1234.12(所影响的行数为 1 行)
**/
select cast(1234.423 as nvarchar(50))
declare @f float
set @f=1234.12311111166666
select ltrim(@f)
1234.12
declare @S float
set @S=30206.260695187175
select convert(nvarchar(50),@S)
select cast(@S as nvarchar(50))小数部分不能全部保留
----------------------------------------------------------------------------------
123.1230(1 行受影响)
declare @S float
set @S=30206.260695187175
select result=LOWER(@S)
还是没法
select convert(varchar,30206.260695187175111111)
------------------------------
30206.260695187175111111(所影响的行数为 1 行)
select @t = 206.260695187175
select @t + ltrim('')结果
206.260695187175
declare @t float
select @t = 206.26
select @t + ltrim('')
--206.25999999999999