誰知道怎麼用VBS指令碼編寫用中文讀數學數字 要全程式碼和解釋。謝謝了_百...
- 2022-08-22
y=n
sz=split(“0,1,2,3,4,5,6,7,8,9”,“,”)
hz=split(“零,一,二,三,四,五,六,七,八,九”,“,”)
for i=0 to 9
n=replace(n,sz(i),hz(i))
next
dw=“千百十億千百十萬千百十”
h=len(n)
for i=1 to h
s=s & mid(n,i,1) & mid(dw,12-h+i,1)
next
m=split(“零十,零,零百,零,零千,零,零零零,零,零零,零,零億,億,零萬,萬,億萬,億”,“,”) //求解釋
for i=0 to 14 step 2 //求解釋
s=replace(s,m(i),m(i+1)) //求解釋
next
if len(n)<>1 and right(s,1)=“零” then s=left(s,len(s)-1) //求解釋
if left(s,2)=“一十” then s=right(s,len(s)-1)
jx=msgbox (“您輸入的數是:” & y & vbcrlf & “讀為:” & s & vbcrlf & “是否繼續?”,vbyesno+32+4096,“系統提示”)
if jx=vbno then wscript。quit
s=“”
loop
y=n
‘以下程式碼將數字轉換成中文
sz=Split(“0,1,2,3,4,5,6,7,8,9”,“,”)
hz=Split(“零,一,二,三,四,五,六,七,八,九”,“,”)
For i=0 To 9
n=Replace(n,sz(i),hz(i))
Next
’以下程式碼將中文數字按位置加上單位
dw=“千百十億千百十萬千百十”
h=Len(n)
For i=1 To h
s=s & Mid(n,i,1) & Mid(dw,12-h+i,1)
Next
‘以下程式碼處理數字中零,使其滿足通常的讀法,
’比如:一千零百八十,要變成:一千零八十,即 零百 要替換成 零
m=Split(“零十,零,零百,零,零千,零,零零零,零,零零,零,零億,億,零萬,萬,億萬,億”,“,”) ‘求解釋
For i=0 To 14 Step 2 ’求解釋
s=Replace(s,m(i),m(i+1)) ‘求解釋
Next
’以下程式碼處理數字結尾是零的情況:
‘比如:一千一百八十零,要變成:一千一百八十,去掉最後的零
If Len(n)<>1 And Right(s,1)=“零” Then s=Left(s,Len(s)-1) ’求解釋
If Left(s,2)=“一十” Then s=Right(s,Len(s)-1)
jx=MsgBox (“您輸入的數是:” & y & vbCrLf & “讀為:” & s & vbCrLf & “是否繼續?”,vbYesNo+32+4096,“系統提示”)
If jx=vbno Then WScript。quit
s=“”