15.2.4 解析数字
除了以不同格式生成输出,locale模块还可以帮助解析输入。它包含atoi()和atof()函数,可以根据本地化环境的数值格式约定将字符串转换为整数和浮点值。
import locale
sample_data = [
('USA','en_US','1,234.56'),
('France','fr_FR','1234.56'),
('Spain','es_ES','1234.56'),
('Portugal','pt_PT','1234.56'),
('Poland','pl_PL','1 234,56'),
]
for name,loc, a in sample_data:
locale.setlocale(locale.LC_ALL,loc)
print('{:>10}:{:>9} => {:f}'.format(
name,
a,
locale.atof(a),
))
解析器会识别本地化环境的分组和小数分隔符值。