sqlserver把小數點後面多餘的0去掉

2021-07-29 11:27:16 字數 1202 閱讀 3656

select 5000/10000.0 --想變成0.5

select 5500/10000.0 --想變成0.55

select 5550/10000.0 --想變成0.555

select 5555/10000.0 --想變成0.5555

其結果分別為:0.5000000    0.5500000  0.5550000   0.5555000

一、如果想去掉數字5後面多餘的0 ,需要轉化一下:

select convert(float,5000/10000.0) --想變成0.5

select convert(float,5500/10000.0) --想變成0.55

select convert(float,5550/10000.0) --想變成0.555

select convert(float,5555/10000.0) --想變成0.5555

其結果分別為: 0.5  0.55  0.555 0.5555

二、建立函式:

在sql server 建個函式clearzero,使用這個函式去掉小數點後面多餘的零。

create function [dbo].[clearzero](@invalue varchar(50))

returns varchar(50)

asbegin

declare @returnvalue varchar(20)

if(@invalue='')

set @returnvalue='' --空的時候為空

else if (charindex('.',@invalue) ='0')

set @returnvalue=@invalue --針對不含小數點的

else if ( substring(reverse(@invalue),patindex('%[^0]%',reverse(@invalue)),1)='.')

set @returnvalue =left(@invalue,len(@invalue)-patindex('%[^0]%',reverse(@invalue))) --針對小數點後全是0的

else

set @returnvalue =left(@invalue,len(@invalue)- patindex('%[^0]%.%',reverse(@invalue))+1) --其他任何情形

return @returnvalue

end

C Double保留小數點後面位數

double test1 1000.0 double test2 1000.12345 double test3 1000.1289 int test4 1000 string test5 1000 string test6 1000.12345 string test7 1000.1289 con...

C Double保留小數點後面位數

double salary1 10000.0 double salary2 10000.12345 double salary3 10000.1289 int salary4 10000 string salary5 10000 string salary6 10000.12345 string s...

python小數點 python 小數點問題

我想生成一組小數,大小為從0到1,間隔為0.2,即 0,0.2,0.4,0.6,0.8,1 1.while迴圈生成 a list i 0 while i 1 i 0.2 print a list 列印結果為 0,0.2,0.4,0.6000000000000001,0.8,1.0 奇怪,為什麼會有0...