î
ªÍ X˜  ã               @   sl   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l m	 Z	 d d  d d d	 d
 „ Z
 d S)é    )Úunicode_literals)ÚDecimal)Úsettings)Úsix)Ú	mark_safeNÚ Fc             C   sÖ  t  j o t  j } | p | } | o- | d k } t |  t ƒ r` | r` | r` t t j |  ƒ ƒ Sd } t |  t ƒ r‡ d j	 |  ƒ } n t j |  ƒ } | d d k r¿ d } | d d … } n  d | k r| j
 d ƒ \ }	 }
 | d k	 r|
 d | … }
 qn | d }	 }
 | d k	 r6|
 d | t |
 ƒ }
 n  |
 rI| |
 }
 n  | rÊd } x\ t |	 d d d	 … ƒ D]A \ } } | r¦| | r¦| | d d d
 … 7} n  | | 7} qoW| d d d … }	 n  | |	 |
 S)ap  
    Gets a number (as a number or string), and returns it as a string,
    using formats defined as arguments:

    * decimal_sep: Decimal separator symbol (for example ".")
    * decimal_pos: Number of decimal positions
    * grouping: Number of digits in every group limited by thousand separator
    * thousand_sep: Thousand separator symbol (for example ",")
    r   r   z{:f}ú-é   NÚ.Ú0éÿÿÿÿr   r   )r   ZUSE_L10NZUSE_THOUSAND_SEPARATORÚ
isinstanceÚintr   r   Ú	text_typer   ÚformatÚsplitÚlenÚ	enumerate)ÚnumberZdecimal_sepZdecimal_posÚgroupingZthousand_sepZforce_groupingZuse_groupingÚsignZ
str_numberZint_partZdec_partZint_part_gdZcntÚdigit© r   úG/home/ubuntu/projects/ifolica/build/django/django/utils/numberformat.pyr   
   s:    &r   )Ú
__future__r   Údecimalr   Zdjango.confr   Zdjango.utilsr   Zdjango.utils.safestringr   r   r   r   r   r   Ú<module>   s   	