Bagaimana cara mengubah angka menjadi kata-kata?

2

Apakah ada rumus / prosedur untuk mengubah angka menjadi kata-kata. misalnya 25371,34 untuk dikonversi menjadi "Dua Puluh Lima Ribu Tiga Ratus Satu Tujuh Puluh Satu dan paise Tiga Puluh Empat Saja".

Lalu
sumber
Apa yang Anda maksud dengan paise ?
DavidPostill
Mata uang India dalam Rupee & paises. Sama seperti US $ dalam hal Dolar & sen.
Lalu
Beberapa kesalahan sintaks harus diatasi seperti Do While MyNumber <> "" AND If Temp <> "" Maka Rupee = Temp & Place (Hitungan) & Rupee Berakhir Jika Jika tidak berfungsi dengan baik. Juga harus menyesuaikan untuk INR. Tapi terima kasih karena itu memberiku titik awal untuk dikerjakan.
Lalu
Kecuali untuk beberapa kesalahan sintaks berfungsi dengan baik. perlu menyempurnakan lingkungan India karena mata uangnya tidak dalam jutaan, miliaran dll tetapi ribuan, lac, crores dll
Lalu

Jawaban:

1

Cara mengonversi nilai numerik ke kata-kata bahasa Inggris di Excel

Artikel ini berisi contoh fungsi-fungsi Microsoft Visual Basic for Applications yang dapat Anda gunakan untuk mengonversi nilai numerik dalam sel lembar kerja Microsoft Excel menjadi yang setara dengan kata-kata bahasa Inggris.

Cara membuat fungsi sampel Dipanggil SpellNumber

  1. Mulai Microsoft Excel.
  2. Tekan ALT + F11 untuk memulai Editor Visual Basic.
  3. Pada menu Sisipkan, klik Modul.
  4. Ketikkan kode berikut ke dalam lembar modul.
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
    Dim Dollars, Cents, Temp
    Dim DecimalPlace, Count
    ReDim Place(9) As String
    Place(2) = " Thousand "
    Place(3) = " Million "
    Place(4) = " Billion "
    Place(5) = " Trillion "
    ' String representation of amount.
    MyNumber = Trim(Str(MyNumber))
    ' Position of decimal place 0 if none.
    DecimalPlace = InStr(MyNumber, ".")
    ' Convert cents and set MyNumber to dollar amount.
    If DecimalPlace > 0 Then
        Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
                  "00", 2))
        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    End If
    Count = 1
    Do While MyNumber <> ""
        Temp = GetHundreds(Right(MyNumber, 3))
        If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
        If Len(MyNumber) > 3 Then
            MyNumber = Left(MyNumber, Len(MyNumber) - 3)
        Else
            MyNumber = ""
        End If
        Count = Count + 1
    Loop
    Select Case Dollars
        Case ""
            Dollars = "No Dollars"
        Case "One"
            Dollars = "One Dollar"
         Case Else
            Dollars = Dollars & " Dollars"
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
              Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    SpellNumber = Dollars & Cents
End Function

' Converts a number from 100-999 into text 
Function GetHundreds(ByVal MyNumber)
    Dim Result As String
    If Val(MyNumber) = 0 Then Exit Function
    MyNumber = Right("000" & MyNumber, 3)
    ' Convert the hundreds place.
    If Mid(MyNumber, 1, 1) <> "0" Then
        Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    End If
    ' Convert the tens and ones place.
    If Mid(MyNumber, 2, 1) <> "0" Then
        Result = Result & GetTens(Mid(MyNumber, 2))
    Else
        Result = Result & GetDigit(Mid(MyNumber, 3))
    End If
    GetHundreds = Result
End Function

' Converts a number from 10 to 99 into text. 
Function GetTens(TensText)
    Dim Result As String
    Result = ""           ' Null out the temporary function value.
    If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19...
        Select Case Val(TensText)
            Case 10: Result = "Ten"
            Case 11: Result = "Eleven"
            Case 12: Result = "Twelve"
            Case 13: Result = "Thirteen"
            Case 14: Result = "Fourteen"
            Case 15: Result = "Fifteen"
            Case 16: Result = "Sixteen"
            Case 17: Result = "Seventeen"
            Case 18: Result = "Eighteen"
            Case 19: Result = "Nineteen"
            Case Else
        End Select
    Else                                 ' If value between 20-99...
        Select Case Val(Left(TensText, 1))
            Case 2: Result = "Twenty "
            Case 3: Result = "Thirty "
            Case 4: Result = "Forty "
            Case 5: Result = "Fifty "
            Case 6: Result = "Sixty "
            Case 7: Result = "Seventy "
            Case 8: Result = "Eighty "
            Case 9: Result = "Ninety "
            Case Else
        End Select
        Result = Result & GetDigit _
            (Right(TensText, 1))  ' Retrieve ones place.
    End If
    GetTens = Result
End Function

' Converts a number from 1 to 9 into text. 
Function GetDigit(Digit)
    Select Case Val(Digit)
        Case 1: GetDigit = "One"
        Case 2: GetDigit = "Two"
        Case 3: GetDigit = "Three"
        Case 4: GetDigit = "Four"
        Case 5: GetDigit = "Five"
        Case 6: GetDigit = "Six"
        Case 7: GetDigit = "Seven"
        Case 8: GetDigit = "Eight"
        Case 9: GetDigit = "Nine"
        Case Else: GetDigit = ""
    End Select
End Function

Sisa artikel yang ditautkan ke menjelaskan cara menggunakan fungsi di atas.

Anda harus mengubah fungsi untuk ditambahkan paiseke "dan" dan menambahkanonly

Sumber Bagaimana mengonversi nilai numerik menjadi kata-kata bahasa Inggris di Excel

DavidPostill
sumber