葉子函式分享五 將十進位制轉成十六進製制

2021-08-25 18:18:52 字數 1740 閱讀 4515

--建立函式

create

function [dbo].[hex](@cardno int

)returns

varchar

(100)as

begin

declare @temp_mod int

declare @i int

declare @result varchar

(100)

declare @temp_x int

declare @result_values int

set @result=

''set @i=1

set @temp_x=0

while

@cardno>0

begin

set @temp_mod=@cardno%16

set @cardno=@cardno/16

set @result=(

case @temp_mod when 10 then

'a'when 11 then

'b'when 12 then

'c'when 13 then

'd'when 14 then

'e'when 15 then

'f'else

ltrim

(str

(@temp_mod))

end)+@result

endreturn

@result

end

--測試示例

select

[dbo].[hex](1808)

as hex

--執行結果/*

hex

----------

710 */

--第二版

/****************************

整數轉換成進製

****************************/ go

create

function

inttohex

(@intnum

int)

returns

varchar(16

)asbegin

declare

@mods

int,

@res

varchar(16

)set

@res=''

while

@intnum

<>

0 begin

set@mods

=@intnum %16

if@mods

>

9 set

@res

=char

(ascii

('a'

)+@mods-10

)+@res

else

set@res

=cast

(@mods

asvarchar(4

))+@res

set@intnum

=@intnum/16

endreturn

@res

end

--測試示例

select

dbo.

inttohex

(1808)

--執行結果 /*

710 */

特別說明:

如果資料量比較大,盡量避免使用自定義函式,以免嚴重影響效能。

十六進製制轉成十進位制

string s 7a int i integer.parseint s,16 long l long.parselong s,16 如果是十六進製制的字串要轉換為十進位制的字串,那也可以用上面的辦法,再接個tostring就行 string s 7a string s1 integer.tostr...

彙編實驗 十六進製制轉成十進位制以及十進位制轉十六進製制

十六進製制轉成十進位制 datas segment dbuf dw 3039h 16進製制數3039h為10進製數12345 dval db 5 dup 存放轉換後的資料 dlen dbuf datas ends stacks segment 此處輸入堆疊段 stacks ends codes se...

十進位制轉成二進位制

描述 將乙個 10 進製的數轉換為二進位制數。輸入輸入乙個 10000 位以內的十進位制數。輸出轉換為二進位制後輸出。輸入樣例 1030 輸出樣例 10000000110 一 include include include include using namespace std const int ...