我使用的一个程序从一个文本文件中获取输入,并期望处理货币的字符串被格式化为 XXXX.XX
我希望能够只输入数字的相关部分,并让我的脚本根据需要添加前导零和/或尾随点和零。例如输入1.1格式为0001.10,输入32格式为0032.00,输入.99格式为0000.99等。
纯粹用 bash 来做会很好,但是调用其他东西,比如 sed 也很好。
最佳答案
您可以像这样使用 printf
:
s='32'
printf "%07.2f\n" "$s"
0032.00
s='1.1'
printf "%07.2f\n" "$s"
0001.10
s='.99'
printf "%07.2f\n" "$s"
0000.99
说明:这种格式 %07.2f
使用:
0
用于在需要时用零填充7
总宽度为7
(包括小数点).2f
用于指定 2 个小数位
关于bash - 在 bash 中以某种方式格式化数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019212/