Bash 如何在printf中显示点%s\n“;10000?
我有命令Bash 如何在printf中显示点%s\n“;10000?,bash,printf,Bash,Printf,我有命令printf“%s\n”。我希望该命令可以用点(.000)分隔零 e、 g: printf“%s\n”300.77 300.77 我想要 printf“%s\n”1000000 1.000.000 您能帮我解决我的问题吗?您必须使用%f格式来指定将该值视为浮点数 $ printf "%7.4f\n" 12.2 12.2000 $ printf "%7.4f\n" 12.23576 12.23574 12.2358 12.2357 $ 如果目标是将本地千位分隔符放入输出,则需要支持pri
printf“%s\n”
。我希望该命令可以用点(.000
)分隔零
e、 g:
printf“%s\n”300.77
300.77
我想要
printf“%s\n”1000000
1.000.000
您能帮我解决我的问题吗?您必须使用
%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
version:GNU bash,version 3.2.48(1)-发行版(x86_64-apple-darwin12)
)上测试。您是否尝试过在谷歌上搜索printf()的可能转换说明符?似乎不是这样。+1不知道“
修饰符。很酷@Jaypal:支持GNUC库中的”
修饰符,显然还有MacOSX(BSD);它不在标准C或POSIX C中。请耐心等待,您会学到这些东西-我是在上个月左右才发现的。我可以将%'d\n和%s\n组合成一个命令吗?如果您想:printf“这是一个数字:%'d;这是一个字符串“%s”\n“3141593 aleph
。你到底在问什么,为什么不试试,和/或试着读一下手册?@JonathanLeffler:“
在Posix中,请看这里:。它被标记为CX
,这意味着它是标准C的扩展,但是“[a]应用程序开发人员可以使用扩展,因为它在所有符合POSIX.1-2008标准的系统上都受支持”。