VBA中的单词编号。在最后一个数字处插入“和”

时间:2019-06-17 05:05:17

标签: excel vba

我想在最后一个数字前加上“和”,但无法这样做。

  

例如:101美元(一百零一美元)

     

110美元(一百零一美元)

     

111.50美元(一百一十一和五十)

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

1 个答案:

答案 0 :(得分:0)

不鼓励在百个位数后面添加“和”。但是,为帮助您,我修改了我在https://codereview.stackexchange.com/questions/223615/very-simple-spell-number-to-words-001-to-999-in-vba上发布的功能,以便该功能将添加一个“和”。

该函数处理从001到999的数字。无小数。对于带分数的数字,您将需要对数字进行拆分并分别处理每个部分(整数和小数部分);拆分后,很容易在分数前添加“和”。

是。我希望它能起作用,并让您入门

                [,1]        [,2]        [,3]        [,4]
[1,]            5.1         3.5          1.4         0.2
[2,]            4.9         3.0          1.4         0.2
[3,]            4.7         3.2          1.3         0.2
[4,]            4.6         3.1          1.5         0.2