code: def format_final_number(self, whole_num, decimal):
      if self.currency:
          return_string = inflect.number_to_words(whole_num)
          return_string += " dollar" if whole_num == 1 else " dollars"
          if decimal:
              return_string += " and " + inflect.number_to_words(
                  decimal
              )
              return_string += (
                  " cent" if whole_num == decimal else " cents"
              )
          self.reset()
          return return_string
  
      self.reset()
      if decimal:
          whole_num += "." + decimal
          return inflect.number_to_words(whole_num)
      else:
          # Check if there are non-numbers
          def convert_to_word(match):
              return " " + inflect.number_to_words(match.group(0)) + " "
  
          return re.sub(r"[0-9,]+", convert_to_word, whole_num)
  
file_path: NeMo/nemo/collections/common/parts/preprocessing/cleaners.py
imports: import re
  import inflect
  from text_unidecode import unidecode
  from nemo.utils import logging
label_desc: Use image node_id 3 for calling the NumberCleaner obj's underlying member method code with example usage: obj.format_final_number(whole_num, decimal) and returns: return_string, inflect, re, unknown