01.
Function
BahtText(
ByVal
sNum)
02.
Dim
sNumber , sDigit , sDigit10
03.
Dim
nLen , sWord , sWord2
04.
Dim
sByte , I , J
05.
06.
sNumber = Array(
""
,
"หนึ่ง"
,
"สอง"
,
"สาม"
,
"สี่"
,
"ห้า"
,
"หก"
,
"เจ็ด"
,
"แปด"
,
"เก้า"
)
07.
sDigit = Array(
""
,
"สิบ"
,
"ร้อย"
,
"พัน"
,
"หมื่น"
,
"แสน"
)
08.
sDigit10 = Array(
""
,
"สิบ"
,
"ยี่สิบ"
,
"สามสิบ"
,
"สี่สิบ"
,
"ห้าสิบ"
,
"หกสิบ"
,
"เจ็ดสิบ"
,
"แปดสิบ"
,
"เก้าสิบ"
)
09.
sNum = Replace(FormatNumber(sNum, 2),
","
,
""
)
10.
nLen = Len(sNum)
11.
12.
If
sNum =
".00"
Then
BahtText =
"ศูนย์"
13.
For
I = 1
To
nLen - 3
14.
J = (15 + nLen - I)
Mod
6
15.
sByte = Mid(sNum, I, 1)
16.
If
sByte <>
"0"
Then
17.
If
J = 1
Then
sWord = sDigit10(sByte)
Else
sWord = sNumber(sByte) & sDigit(J)
18.
BahtText = BahtText & sWord
19.
End
If
20.
If
J = 0
And
I <> nLen - 3
Then
BahtText = BahtText &
"ล้าน"
: BahtText = Replace(BahtText,
"หนึ่งล้าน"
,
"เอ็ดล้าน"
)
21.
Next
22.
23.
If
Left(sNum, 1) =
"1"
Then
BahtText = Replace(BahtText,
"เอ็ดล้าน"
,
"หนึ่งล้าน"
)
24.
25.
If
Left(sNum, 2) =
"11"
Then
BahtText = Replace(BahtText,
"สิบหนึ่งล้าน"
,
"สิบเอ็ดล้าน"
)
26.
If
Len(BahtText) > 0
Then
BahtText = BahtText &
"บาท"
27.
28.
If
nLen > 4
Then
BahtText = Replace(BahtText,
"หนึ่งบาท"
,
"เอ็ดบาท"
)
29.
30.
sNum = Right(sNum, 2)
31.
32.
If
sNum =
"00"
Then
33.
BahtText = BahtText &
"ถ้วน"
34.
Else
35.
If
Left(sNum, 1) <>
"0"
Then
BahtText = BahtText & sDigit10(Left(sNum, 1))
36.
If
Right(sNum, 1) <>
"0"
Then
BahtText = BahtText & sNumber(Right(sNum, 1))
37.
BahtText = BahtText &
"สตางค์"
38.
If
Left(sNum, 1) <>
"0"
Then
BahtText = Replace(BahtText,
"หนึ่งสตางค์"
,
"เอ็ดสตางค์"
)
39.
End
If
40.
End
Function