我有命令printf "%s\n"
。我希望该命令可以用点(.000
)分隔为零。
e.g:
printf "%s\n" 300.77
300.77
我想要
printf "%s\n" 1000000
1.000.000
你能帮我解决我的问题吗?
答案 0 :(得分:5)
您必须使用%f
格式指定将该值视为浮点数。
$ printf "%7.4f\n" 12.2
12.2000
$ printf "%7.4f\n" 12.23576 12.23574
12.2358
12.2357
$
如果目标是将本地千位分隔符输入到输出中,那么您需要支持'
格式的printf()
修饰符:
$ printf "%'d\n" 1223576 1223574
1,223,576
1,223,574
$
行为依赖于语言环境:
$ echo $LANG
en_US.UTF-8
$ (export LANG=de_DE.UTF-8; printf "%'d\n" 1223576 1223574)
1223576
1223574
$ (export LANG=dk_DK.UTF-8; printf "%'d\n" 1223576 1223574)
1,223,576
1,223,574
$ (export LANG=it_IT.UTF-8; printf "%'d\n" 1223576 1223574)
1223576
1223574
$ (export LANG=gr_GR.UTF-8; printf "%'d\n" 1223576 1223574)
1,223,576
1,223,574
$
在Mac OS X 10.8.3(bash
版本:GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)
)上测试过。