숫자를 텍스트로 변환 할 때 추가 "수백"을 제거하는 방법은 무엇입니까?

AFab

숫자를 텍스트로 변환하려고합니다.

전의.
1,112,589.63 = 1 백만 1 백 12 천 5 백 팔십 구 63/100

내 기능

Option Explicit
  'MAIN FUNCTION

'=SPELLNUMBER(95)
Sub TEST()
  MsgBox SPELLNUMBER(95)
End Sub

Function SPELLNUMBER(MYNUMBER, Optional BMONEY = False)
  Dim DOLLARS, CENTS, TEMP
  Dim DECIMALPLACE, COUNT
  Dim INUMBER

  ReDim PLACE(9) As String
  PLACE(1) = " HUNDRED "
  PLACE(2) = " THOUSAND "
  PLACE(3) = " MILLION "
  PLACE(4) = " BILLION "
  PLACE(5) = " TRILLION "

INUMBER = MYNUMBER
' 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 = Right(FormatCurrency(MYNUMBER, 2), 2) & "/100"
  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

If BMONEY = True Then
  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
End If
SPELLNUMBER = DOLLARS & CENTS
End Function


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

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

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

나는 결국 HUNDRED라는 단어를 얻습니다.

전의.
1,112,589.63 = 1 백만 1 백 12 천 5 백 8 천 9 백 63/100

소수점 이하 자릿수 끝에 HUNDRED를 제거하려면 어떻게해야합니까?

아케이드

Places변수에 백이 필요하지 않습니다 .

당신이 가질 것은

Ones
Thousands
Millions
...

그러나 Ones관련이 없기 때문에 그 장소를 비워 둘 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

WPF에서 항목을 추가하거나 제거 할 때 목록 상자를 자동으로 새로 고치는 방법은 무엇입니까?

분류에서Dev

matplotlib로 배경 이미지를 추가 할 때 측면 변경을 피하는 방법은 무엇입니까?

분류에서Dev

ajax가 1을 반환 할 때 setTimeout 함수를 제거하는 방법은 무엇입니까?

분류에서Dev

MATLAB에서 행렬을 문자열로 변환 할 때 마지막 0 제거를 방지하는 방법은 무엇입니까?

분류에서Dev

사전을 Pandas로 변환 할 때 항목을 제거하는 방법은 무엇입니까?

분류에서Dev

OpenCart-사용자가 로그인 할 때까지 카트에 추가 기능을 제거 / 비활성화하는 방법은 무엇입니까?

분류에서Dev

양식을 제출할 때 URL 데이터 (변수)를 추가하는 방법은 무엇입니까?

분류에서Dev

-s 옵션을 사용하여 둘 이상의 비디오로 변환 할 때 워터 마크를 추가하는 방법은 무엇입니까?

분류에서Dev

Dataweave, CSV를 생성 할 때 추가 \ n을 제거하는 방법은 무엇입니까?

분류에서Dev

새 사용자를 추가 할 때 기본 설정을 변경하는 방법은 무엇입니까?

분류에서Dev

UITextField에 텍스트가있을 때 하위 뷰를 제거하는 방법은 무엇입니까?

분류에서Dev

Javascript 객체를 .csv 파일로 변환 할 때 ','를 제거하는 방법은 무엇입니까?

분류에서Dev

양식을 제출할 때 버튼 로딩 텍스트를 설정하는 방법은 무엇입니까?

분류에서Dev

\ n으로 텍스트를 변환하고 노드 js에서 문자없이 실제 새 줄을 추가하는 방법은 무엇입니까?

분류에서Dev

jQuery 초보자 : toggleClass ( "open")을 사용할 때 CSS 전환을 추가하는 방법은 무엇입니까?

분류에서Dev

사용자가 메뉴 옵션을 변경할 때 다른 텍스트를 표시하는 방법은 무엇입니까?

분류에서Dev

입력 내용을 변경할 때 자바 스크립트 액션을 추가하는 방법은 무엇입니까?

분류에서Dev

JTextArea 및 GridBagLayout : 텍스트를 작성할 때 열 너비 변경을 피하는 방법은 무엇입니까?

분류에서Dev

다음을 클릭 할 때 텍스트를 이동 / 변경하는 방법은 무엇입니까?

분류에서Dev

fullCalendar에 이벤트를 동적으로 추가 할 때 eventClick을 사용하는 방법은 무엇입니까?

분류에서Dev

jQuery에서 새로 생성 된 선택 상자의 값을 변경할 때마다 새 선택 상자를 추가하는 방법은 무엇입니까?

분류에서Dev

카메라가 파란색을 캡처 할 때 텍스트를 인쇄하는 방법은 무엇입니까?

분류에서Dev

InstallShield : MSI가 프로그램을 제거 할 때 알지 못하는 파일 및 하위 폴더를 제거하는 방법은 무엇입니까?

분류에서Dev

검도 버튼을 클릭 할 때 div에 새 텍스트 상자를 추가하는 방법은 무엇입니까?

분류에서Dev

반응으로 렌더링 할 때 객체에 전환을 추가하는 방법은 무엇입니까?

분류에서Dev

Angular-검색을 변경할 때 기록 추가를 피하는 방법은 무엇입니까?

분류에서Dev

Angular-검색을 변경할 때 기록 추가를 피하는 방법은 무엇입니까?

분류에서Dev

열을 추가하는 확장 DataGridView 컨트롤을 사용할 때 디자이너 열 복제를 방지하는 방법은 무엇입니까?

분류에서Dev

분할 창이 추가 / 제거 될 때마다 자동으로 tmux 분할 창의 균형을 맞추는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    WPF에서 항목을 추가하거나 제거 할 때 목록 상자를 자동으로 새로 고치는 방법은 무엇입니까?

  2. 2

    matplotlib로 배경 이미지를 추가 할 때 측면 변경을 피하는 방법은 무엇입니까?

  3. 3

    ajax가 1을 반환 할 때 setTimeout 함수를 제거하는 방법은 무엇입니까?

  4. 4

    MATLAB에서 행렬을 문자열로 변환 할 때 마지막 0 제거를 방지하는 방법은 무엇입니까?

  5. 5

    사전을 Pandas로 변환 할 때 항목을 제거하는 방법은 무엇입니까?

  6. 6

    OpenCart-사용자가 로그인 할 때까지 카트에 추가 기능을 제거 / 비활성화하는 방법은 무엇입니까?

  7. 7

    양식을 제출할 때 URL 데이터 (변수)를 추가하는 방법은 무엇입니까?

  8. 8

    -s 옵션을 사용하여 둘 이상의 비디오로 변환 할 때 워터 마크를 추가하는 방법은 무엇입니까?

  9. 9

    Dataweave, CSV를 생성 할 때 추가 \ n을 제거하는 방법은 무엇입니까?

  10. 10

    새 사용자를 추가 할 때 기본 설정을 변경하는 방법은 무엇입니까?

  11. 11

    UITextField에 텍스트가있을 때 하위 뷰를 제거하는 방법은 무엇입니까?

  12. 12

    Javascript 객체를 .csv 파일로 변환 할 때 ','를 제거하는 방법은 무엇입니까?

  13. 13

    양식을 제출할 때 버튼 로딩 텍스트를 설정하는 방법은 무엇입니까?

  14. 14

    \ n으로 텍스트를 변환하고 노드 js에서 문자없이 실제 새 줄을 추가하는 방법은 무엇입니까?

  15. 15

    jQuery 초보자 : toggleClass ( "open")을 사용할 때 CSS 전환을 추가하는 방법은 무엇입니까?

  16. 16

    사용자가 메뉴 옵션을 변경할 때 다른 텍스트를 표시하는 방법은 무엇입니까?

  17. 17

    입력 내용을 변경할 때 자바 스크립트 액션을 추가하는 방법은 무엇입니까?

  18. 18

    JTextArea 및 GridBagLayout : 텍스트를 작성할 때 열 너비 변경을 피하는 방법은 무엇입니까?

  19. 19

    다음을 클릭 할 때 텍스트를 이동 / 변경하는 방법은 무엇입니까?

  20. 20

    fullCalendar에 이벤트를 동적으로 추가 할 때 eventClick을 사용하는 방법은 무엇입니까?

  21. 21

    jQuery에서 새로 생성 된 선택 상자의 값을 변경할 때마다 새 선택 상자를 추가하는 방법은 무엇입니까?

  22. 22

    카메라가 파란색을 캡처 할 때 텍스트를 인쇄하는 방법은 무엇입니까?

  23. 23

    InstallShield : MSI가 프로그램을 제거 할 때 알지 못하는 파일 및 하위 폴더를 제거하는 방법은 무엇입니까?

  24. 24

    검도 버튼을 클릭 할 때 div에 새 텍스트 상자를 추가하는 방법은 무엇입니까?

  25. 25

    반응으로 렌더링 할 때 객체에 전환을 추가하는 방법은 무엇입니까?

  26. 26

    Angular-검색을 변경할 때 기록 추가를 피하는 방법은 무엇입니까?

  27. 27

    Angular-검색을 변경할 때 기록 추가를 피하는 방법은 무엇입니까?

  28. 28

    열을 추가하는 확장 DataGridView 컨트롤을 사용할 때 디자이너 열 복제를 방지하는 방법은 무엇입니까?

  29. 29

    분할 창이 추가 / 제거 될 때마다 자동으로 tmux 분할 창의 균형을 맞추는 방법은 무엇입니까?

뜨겁다태그

보관