Project

General

Profile

1
# Value to string conversion
2

    
3
import locale
4

    
5
locale.setlocale(locale.LC_ALL, '') # needed to initialize locale
6

    
7
def format_str(format, val):
8
    return locale.format_string(format, val, grouping=True)
9

    
10
def int2str(val): return format_str('%d', val)
11

    
12
def to_percent(val, sig_figs=2):
13
    if val >= 1: sig_figs += 1
14
    return format_str('%#.'+str(sig_figs)+'g', val*100)+'%'
15

    
16
def to_si(val, sig_figs=3):
17
    '''Adds SI prefix to value'''
18
    prefix = ''
19
    if val < 1: prefix = 'm'; val *= 1000
20
    return format_str('%#.'+str(sig_figs)+'g', val)+' '+prefix
(6-6/17)