第乙個辦法,這個程式可以進行萬億以下的貨幣金額轉換(夠用的了吧),其中漢字與數字均按一位計:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
function atoc(a as currency) as string
' 定義兩個字串,a的值最多是兩位小數.
dim string1 as string
' 如下定義.
dim string2 as string
' 如下定義.
dim string3 as string
' 從原a值中取出的值.
dim i as integer
' 迴圈變數.
dim j as integer
' a的值乘以100的字串長度.
dim ch1 as string
' 數字的漢語讀法.
dim ch2 as string
' 數字位的漢字讀法.
dim nzero as integer
' 用來計算連續的非零數是幾個.
string1 = "零壹貳叄肆伍陸柒捌玖"
string2 = "萬仟佰拾億仟佰拾萬仟佰拾元角分"
'msgbox cstr(a * 100)
if instr(1, cstr(a * 100), ".") <> 0 then
err.raise 5000, , "該函式( atoc() )只轉換兩位小數以內的數值!"
end if
j = len(cstr(a * 100))
string2 = right(string2, j)
' 取出對應位數的string2的值.
for i = 1 to j
string3 = mid(a * 100, i, 1)
' 取出需轉換的某一位的值.
if string3 &www.cppcns.comlt;> "0" then
ch1 = mid(string1, val(string3) + 1, 1)
ch2 = mid(string2, i, 1)
nzero = nzero + 1
' 表示本位不為零.
else
if nzero <> 0 or i = j - 9 or i = j - 5 or i = j - 1 then
&程式設計客棧nbsp; if right(atoc, 1) = "零" then atoc = left(atoc, len(atoc) - 1)
ch1 = "零"
&程式設計客棧nbsp; else
ch1 = ""
end if
if i = j - 10 then
' 如果轉換的數值需要擴大,則要改動以下表示式 i 的值.
ch2 = "億"
elseif i = j - 6 then
if nzero <> 0 then
ch2 = "萬"
' nzero = 0
end if
elseif i = j - 2 then
ch2 = "元"
elseif i = j then
ch2 = "整"
else
ch2 = ""
end if
nzero = 0
end if
atoc = atoc & ch1 & ch2
next i
atoc = replace(atoc, "零元", "元")
atoc = replace(atoc, "零萬", "萬")
atoc = replace(atoc, "零億", "億")
atoc = replace(atoc, "零整", "整程式設計客棧")
' 以上將多餘的零去掉
end function
第二個辦法:照下面寫就成了!
dim str(9)
str(0)="零"
str(1)="壹"
str(2)="貳"
str(3)="叄"
str(4)="肆"
str(5)="伍"
str(6)="陸"
str(7)="柒"
str(8)="捌"
str(9)="玖"
aa=request.form("source")
hh=formatnumber(aa,2,-1)
aa=replace(hh,".","")
aa=replace(aa,",","")
for i=1 to len(aa)
s=mid(aa,i,1)
mynum=str(s)
select case(len(aa)+1-i)
case 1: k= mynum&"分"
case 2: k= mynum&"角"
case 3: k= mynum&"元"
case 4: k= mynum&"拾"
case 5: k= mynum&"佰"
case 6: k= mynum&"仟"
case 7: k= mynum&"萬"
case 8: k= mynum&"拾"
case 9: k= mynum&"佰"
case 10: k= mynum&"仟"
end select
m=m&k
next
%>
精彩春風之數字大小寫轉換
'; mso-hansi-font-family: ''">分"
case 2: p= mynum&"角"
end select
m=m&p
next
-->
本文標題: 如何實現人民幣的大寫轉換?
本文位址:
人民幣大寫轉換
人民幣大寫轉換 param numbervalue 人民幣小寫 return rmbcapital function numbervalue var chinesevalue 轉換後的漢字金額 var string1 零壹貳叄肆伍陸柒捌玖 漢字數字 var string2 萬仟佰拾億仟佰拾萬仟佰拾元...
python實現人民幣大寫轉換
usr bin python coding utf 8 轉換方法介紹 將需要轉換的數字從右向左,每4位分成乙個section,如 24530467103,將該數字拆分後,得到 245 3046 7103 245億3046萬7103 對拆分後的數字先按照section進行數字到漢字的轉換,然後新增數值...
pascal 人民幣大寫轉換
我們在程式設計的過程中,特別是開發和財務相關的應用程式的時候,幾乎都會遇到要將阿拉伯數字 一般是貨幣金額 轉換為中文大寫的要求。也有一些轉換程式,但大都不符合財務實際要求,比如最簡單的 function xd xx currency string var dx,ws string i,cd inte...