Login

Regex Comma Number

Author:
petry
Posted:
October 24, 2008
Language:
Python
Version:
1.0
Score:
2 (after 2 ratings)

Format Number Based on Regular Expression

Examples

{{.1234|regex_comma_number:'%.4f'}} '0.1234'

{{100|regex_comma_number:'%i'}} '100'

{{ 234.5678|regex_comma_number:'%.4f'}} '234.5678'

{{234.5678|regex_comma_number:'$%.4f'}} '$234.5678'

{{1000|regex_comma_number:'%i'}} '1,000'

{{1234.5678|regex_comma_number:'%.4f'}} '1,234.5678'

{{1234.5678|regex_comma_number:'$%.4f'}} '$1,234.5678'

{{1000000|regex_comma_number:'%i'}} '1,000,000'

{{1234567.5678|regex_comma_number:'%.4f'}} '1,234,567.5678'

{{1234567.5678|regex_comma_number:'$%.4f'}} '$1,234,567.5678'

{{-100|regex_comma_number:'%i'}} '-100'

{{-234.5678|regex_comma_number:'%.4f'}} -234.5678'

{{-234.5678|regex_comma_number:'$%.4f'}} '$-234.5678'

{{-1000|regex_comma_number:'%i'}} '-1,000'

{{-1234.5678|regex_comma_number:'%.4f'}} '-1,234.5678'

{{-1234.5678|regex_comma_number:'$%.4f'}} '$-1,234.5678'

{{-1000000|regex_comma_number:'%i'}} '-1,000,000'

{{-1234567.5678|regex_comma_number:'%.4f'}} '-1,234,567.5678'

{{-1234567.5678|regex_comma_number:'$%.4f'}} '$-1,234,567.5678'`

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
@register.filter
def regex_comma_number(value,arg):
    import re
    

    __test__ = {}
    re_digits_nondigits = re.compile(r'\d+|\D+')
        
    parts = re_digits_nondigits.findall(arg % (value,))
    for i in xrange(len(parts)):
        s = parts[i]
        if s.isdigit():
            r = []
            for j, c in enumerate(reversed(s)):
                if j and (not (j % 3)):
                    r.insert(0, ',')
                r.insert(0, c)
            parts[i] = ''.join(r)
            break
    return ''.join(parts)

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
  5. Help text hyperlinks by sa2812 1 year, 8 months ago

Comments

Please login first before commenting.