如何在bash中打印固定数字或浮动数字

Den*_*isZ 1 bash printf

我想输出具有精确位数的浮点数,而不在前面填充,因为我想在前面添加$符号例如我读取数字:

1.2345
12.345
123.456
Run Code Online (Sandbox Code Playgroud)

我想要输出:

$1.23450
$12.3450
$123.456
Run Code Online (Sandbox Code Playgroud)

我在 printf 中尝试了许多不同的变体,但无法修复总位数。我也没有找到这个特定问题的答案,我
printf "$%.7f\n" 1.2345 12.345 123.456
是否"$%.7f\n "$%07f\n "$%6.4f\n "$%.7g\n
需要为不同大小的数字(即 1, 10, 100)获取不同的格式?

Kam*_*Cuk 5

如何在bash中打印固定数字或浮动数字

打印打印数字中的前 7 个字符。

printf '$%.7s\n' "$(printf '%.6f' 1234.2345)"
Run Code Online (Sandbox Code Playgroud)

我是否需要为不同大小的数字(即 1、10、100)获取不同的格式?

是的,您应该实现自己的格式化函数来满足自定义格式化要求。没有您想要的这样的 printf 格式说明符。