
    9%i                     R    d dl mZmZ d dlZddlmZ  G d dej                        Zy)    )divisionunicode_literalsN   )lang_PTc                   8     e Zd Zd Z fdZd Zd ZddZ xZS )Num2Word_PT_BRc                     ddt        |      z  z   }t        |t        |dd            D ]  \  }}|dz   | j                  d|z  <    y )N   u   ilhão
   )lenziprangecards)selfhighmaxwordns        n/var/www/html/navyabakers_fullstack/navyabakers_prod/venv/lib/python3.12/site-packages/num2words/lang_PT_BR.pyset_high_numwordsz Num2Word_PT_BR.set_high_numwords   sL    !CI+o4sAr!23 	0GD! $xDJJr1u	0    c                     t         t        |           d| j                  d<   d| j                  d<   d| j                  d<   ddd	d
dd| _        y )Ndezenover   	dezesseter
   	dezesseis   u	   milésimou   milionésimou   bilionésimou   trilionésimou   quadrilionésimo)r
      	         )superr   setuplow_numwordsthousand_separators)r   	__class__s    r   r#   zNum2Word_PT_BR.setup   s[    nd)+)!*!*! "$
 r   c                    ||z   \  }}}}|dk(  r
|dk  r|S d}n|dk(  r
|dz  dk7  rd}||k  r|dk  r|d|||z   fS |d|||z   fS |dz  s|dkD  r|d d	 d
z   }|dk(  r| j                   |   }d}nd|z   }||z   ||z  fS )Nr   i@B umd   i  r   cento e u   lhões  )hundreds)r   currnextctextcnumntextnnums          r   mergezNum2Word_PT_BR.merge-   s    #'$; tUD19g~ES[TD[A-E$;cz%*E2D4K@@!&.t<<.dQh#2J)E3;MM$'EE %KEtd{++r   c                    t         j                  j                  | |      }dD ]Y  }t        j                  dj                  |      |      s)|j                  dj                  |      dj                  |      d      }[ |S )N)	mil   milhão   milhões   bilhão   bilhões   trilhão	   trilhões   quatrilhão   quatrilhõesz.*{} e \w*entos? (?=.*e)z{} ez{},r   )r   Num2Word_EUto_cardinalrematchformatreplace)r   valueresultexts       r   rB   zNum2Word_PT_BR.to_cardinalH   sv    $$00u=H 	C xx3::3?HMM#&S(91		 r   c                 L   d|z  j                  d      \  }}| j                  t        |            }d}dD ]  }|j                  |      s|dz  }d} |dv r|dz  }d}|s|d	z  }t        |      r3| j                  t        |            }|d
|z   z  }|dk(  r|dz  }|S |dz  }|S )Nz%.2f.F)r9   r:   r;   r<   r=   r>   r?   r@   z	 de reaisT)r(   zmenos umz realz reaisr+   r(   z centavoz	 centavos)splitrB   intendswith)	r   vallongvalinteger_partdecimal_partrH   appended_currencyrI   centss	            r   to_currencyzNum2Word_PT_BR.to_currencyW   s    &,sl%9%9#%>"l!!#l"34!H 	)C s#+%$(!	) ''gF $ hF|$$S%67Eeem#F}*$  +%r   )T)	__name__
__module____qualname__r   r#   r6   rB   rU   __classcell__)r&   s   @r   r   r      s    0

,6r   r   )
__future__r   r   rC   r-   r   Num2Word_PTr    r   r   <module>r]      s$   " 2 	 [W(( [r   