小數擷取 四捨五入 標量值函式

2022-09-03 17:00:16 字數 1918 閱讀 4384

/*

程式名:p_bo_getnum

功能:獲取擷取固定數字的小數/四捨五入固定數字的數字

*/create

function

p_bo_getnum

(@oldnum

nvarchar(100), --

原始數字

@istruncate

int, --

是否截斷

@retaindigit

int--

保留小數字

)returns

nvarchar(100

)begin

--返回的數字

declare

@resultnum

nvarchar(100

)

--判斷當前數字是否含有小數字

declare

@returnindex

intset

@returnindex

=(select

charindex('

.',@oldnum,0

))

if@returnindex=0

begin

set@oldnum

=@oldnum+'

.0000000000000

'end

--判斷是否為截斷

if@istruncate=1

--截斷

begin

--定義臨時表儲存整數和小數

declare

@temp

table(num nvarchar(100), numid int

identity(1,1

))

--將整數和小數儲存到@temp

insert

into

@temp

(num)

select a.value from bosplit(@oldnum,'.'

)a

--定義整數和小數

declare

@num1

nvarchar(100)--

整數declare

@num2

nvarchar(100)--

小數set

@num1

=(select

top (1) num from

@temp

order

by numid asc

)

set@num2

=(select

top (1) left(num,@retaindigit) from

@temp

order

by numid desc) --

保留幾位小數這裡就會擷取到幾位

set@resultnum

=@num1+'

.'+@num2

endelse

--四捨五入

begin

set@resultnum

=(select

round(@oldnum,@retaindigit))--

--保留幾位小數這裡就會四捨五入到幾位

end--

返回結果

return

@resultnum

end

--

四捨五入

select dbo.p_bo_getnum('

61.25677

',0,3)--

擷取select dbo.p_bo_getnum('

61.25677

',1,3)

返回結果:

sql 將小數四捨五入

如何使用 oracle round 函式 四捨五入 描述 傳回乙個數值,該數值是按照指定的小數字元數進行四捨五入運算的結果。select round number,decimal places from dual 引數 number 欲處理之數值 decimal places 四捨五入 小數取幾位 ...

js 小數相乘 四捨五入

今天工作遇到了這個問題,兩個小數相乘,會得到小數點後很多位數的數,我想要的是得到乙個正常的數字,然後進行四捨五入,來儲存兩位小數 這個是我用到的科學計數法的外掛程式 先進性安裝 npm install mathjs 用到的是如下兩種 1 const math require mathjs const...

qt的四捨五入 Qt(C )四捨五入

qt現在是四捨六入五成雙,要想四捨五入得自己想辦法,實現如下 include include double c1 3.435 double c2 3.445 double c3 3.4351 double c4 3.4451 double c5 3.445 qdebug qdebug qdebug ...