Python はじめました:整形仕様 - 実数

Python.use(better) # Python はじめました記事一覧
整形仕様 - 実数

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

整形仕様〈Python 3.0 版〉

変換フィールドには、コロン「:」に続けて次のものを指定できます。
》作業中です《

Type Meaning
e, E 指数書式(小文字 'e')で出力します。科学表記で指数部を区別するのに文字 ‘e’ を使います。
E 指数書式(大文字 'E')で出力します。大文字を使う以外は、e と同じです。
f, F 固定小数点数を使って出力します。
g, G 固定小数書式(大文字 'F')で出力します。大文字を使う以外は、f と同じです。
n 区切り文字を含めた書式で出力します。
% 百分率(per-cent)で出力します。
N = 0.123456789

def ex_format():
    global N
    X = 'N'
    print(">>>",X)
    eval(compile(X,"_","single"))
    for e in "eEfFgGn%":
        X = "'{{0:{0}}}'.format(N)".format(e)
        print(">>>",X)
        eval(compile(X,"_","single"))
% python3.0 -i exFloat.py 
>>> ex_format()
>>> N
0.123456789
>>> '{0:e}'.format(N)
1.234568e-01
>>> '{0:E}'.format(N)
1.234568E-01
>>> '{0:f}'.format(N)
0.123457
>>> '{0:F}'.format(N)
0.123457
>>> '{0:g}'.format(N)
0.123457
>>> '{0:G}'.format(N)
0.123457
>>> '{0:n}'.format(N)
0.123457
>>> '{0:%}'.format(N)
12.345679%

変数 N の値(実数)が、各書式に従って出力されるのが分かります。

>>> N*=10000
>>> ex_format()
>>> N
1234.56789
>>> '{0:e}'.format(N)
1.234568e+03
>>> '{0:E}'.format(N)
1.234568E+03
>>> '{0:f}'.format(N)
1234.567890
>>> '{0:F}'.format(N)
1234.567890
>>> '{0:g}'.format(N)
1234.57
>>> '{0:G}'.format(N)
1234.57
>>> '{0:n}'.format(N)
1,234.57
>>> '{0:%}'.format(N)
123456.789000%
>>> N*=10000; do(1)

このとき「:n」を指定すると、3桁ごとに(区切り文字として)カンマ「,」が出力されるのが分かります。

>>> N*=10000
>>> ex_format()
>>> N
12345678.9
>>> '{0:e}'.format(N)
1.234568e+07
>>> '{0:E}'.format(N)
1.234568E+07
>>> '{0:f}'.format(N)
12345678.900000
>>> '{0:F}'.format(N)
12345678.900000
>>> '{0:g}'.format(N)
1.23457e+07
>>> '{0:G}'.format(N)
1.23457E+07
>>> '{0:n}'.format(N)
1.23457e+07
>>> '{0:%}'.format(N)
1234567890.000000%

このとき「:n」を指定すると、3桁ごとに(区切り文字として)カンマ「,」が出力されるのが分かります。

Last updated♪09/03/29