主頁(yè) > 知識(shí)庫(kù) > SQL貨幣數(shù)字轉(zhuǎn)英文字符語(yǔ)句

SQL貨幣數(shù)字轉(zhuǎn)英文字符語(yǔ)句

熱門標(biāo)簽:服務(wù)外包 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 地方門戶網(wǎng)站 AI電銷
復(fù)制代碼 代碼如下:

Alter Function UDF_Util_ConvertCurrencyToEnglish
(
@Money Numeric(15,2),
@Unit varchar(10)='BAHT'
) Returns Varchar(400)
As
/*
/// summary>
/// Convert money to english
/// /summary>
/// param name="@Money">e.g. 1234.56 /param>
/// param name="@Unit">e.g. 'BAHT' /param>
/// returns>english money/returns>
*/
Begin
DECLARE @result Varchar(400)
IF @Money=0
Set @result= 'ZERO '+@Unit
Else
Begin
Declare @i Int, @hundreds Int, @tenth Int, @one Int, @thousand Int,@million Int,@billion Int,@numbers Varchar(400),@s Varchar(15)
Set @numbers='ONE TWO THREE FOUR FIVE '
+'SIX SEVEN EIGHT NINE TEN '
+'ELEVEN TWELEVE THIRTEEN FOURTEEN FIFTEEN '
+'SIXTEEN SEVENTEEN EIGHTEEN NINETEEN '
+'TWENTY THIRTY FORTY FIFTY '
+'SIXTY SEVENTY EIGHTY NINETY '

Set @s=RIGHT('000000000000000'+Cast(@Money As varchar(15)),15)
Set @billion=Cast(Substring(@s,1,3) As Int)
Set @million=Cast(Substring(@s,4,3) As Int)
Set @thousand=Cast(Substring(@s,7,3) As Int)
Set @result=''
Set @i=0

While @i=3
BEGIN

Set @hundreds=Cast(Substring(@s,@i*3+1,1) As Int)
Set @tenth=Cast(Substring(@s,@i*3+2,1) As Int)
Set @one=(Case @tenth When 1 Then 10 Else 0 End)+Cast(Substring(@s,@i*3+3,1) As Int)
Set @tenth=(Case When @tenth=1 Then 0 Else @tenth End)

IF (@i=3 and (@billion>0 or @million>0 or @thousand>0) and (@hundreds=0 and (@tenth>0 or @one>0)))
Set @result=@result+' AND '

IF @hundreds>0
Set @result=@result+RTRIM(Substring(@numbers,@hundreds*10-9,10))+' HUNDRED '

IF @tenth>=2 and @tenth=9
BEGIN
IF @hundreds>0
Set @result=@result+' AND '
Set @result=@result+RTRIM(Substring(@numbers,@tenth*10+171,10))+' '
END

IF @one>=1 and @one=19
BEGIN
IF @hundreds>0 AND @tenth=0
Set @result=@result+' AND '
Set @result=@result+RTRIM(Substring(@numbers,@one*10-9,10))
END

IF @i=0 and @billion>0
Set @result=@result+' BILLION '
IF @i=1 and @million>0
Set @result=@result+' MILLION '
IF @i=2 and @thousand>0
Set @result=@result+' THOUSAND '
Set @i=@i+1
END

IF(@result>'')
Set @result=@result+' '+@Unit

IF Substring(@s,14,2)>'00'
Begin
Set @tenth=CAST(Substring(@s,14,1) AS INT)
Set @one=CAST(Substring(@s,15,1) AS INT)

IF(@tenth>=2 and @tenth=9)
Set @result=@result+RTRIM(Substring(@numbers,@tenth*10+171,10))
IF @tenth=1 AND @one>=1 and @one=19
Set @result=@result+' '+RTRIM(Substring(@numbers,CAST(Substring(@s,14,2) AS INT)*10-9,10))
ELSE
Set @result=@result+' '+RTRIM(Substring(@numbers,@one*10-9,10))

SET @result=@result+' SATANG '
END
ELSE
Set @result=@result+' ONLY'

END
RETURN @result
END
您可能感興趣的文章:
  • C# .net實(shí)現(xiàn)貨幣轉(zhuǎn)換示例
  • Java把數(shù)字格式化為貨幣字符串實(shí)例代碼
  • asp.net 獲取銀行貨幣匯率的代碼
  • 用javascript判斷輸入數(shù)據(jù)是否貨幣并自動(dòng)添加¥符號(hào)的代碼
  • javascript實(shí)現(xiàn)的平方米、畝、公頃單位換算小程序
  • 進(jìn)制轉(zhuǎn)換算法原理(二進(jìn)制 八進(jìn)制 十進(jìn)制 十六進(jìn)制)
  • php實(shí)現(xiàn)的樹形結(jié)構(gòu)數(shù)據(jù)存取類實(shí)例
  • PHP使用get_headers函數(shù)判斷遠(yuǎn)程文件是否存在的方法
  • php的mssql數(shù)據(jù)庫(kù)連接類實(shí)例
  • PHP實(shí)現(xiàn)貨幣換算的方法

標(biāo)簽:蘭州 湖南 仙桃 銅川 湘潭 衡水 崇左 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL貨幣數(shù)字轉(zhuǎn)英文字符語(yǔ)句》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266