-3

我有命令printf "%s\n"。我希望该命令可以用点(.000)分隔零。

例如:

printf "%s\n" 300.77

300.77

我想

printf "%s\n" 1000000

1.000.000

你能帮我解决我的问题吗?

4

1 回答 1

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)

于 2013-06-01T07:03:34.653 回答