小编Ste*_*ott的帖子

有没有办法在 bash 命令行中计算乘法和除法,以便出现句点后的前 3 位数字?

我目前使用以下命令在 bash 命令行中计算以下内容,每三位数字用逗号分隔:

\n
printf "%\'3.f\\n" $(((29246636)*4096))\n119,794,221,056\n
Run Code Online (Sandbox Code Playgroud)\n

该方程需要以 开始$((,也以 结束))Linux 命令行参考包含有关格式化文本的更多信息。

\n

我也有这样的:

\n
printf "%\'.3f \\n" $(((31200310)*4096))\n127,796,469,760.000\n
Run Code Online (Sandbox Code Playgroud)\n

我想确保除法时没有留下小数部分。

\n

实现这一目标的最佳方法是:

\n
printf "%\'.3f\\n" $(((((125046784)*512)/1024)/64))\n976,928.000\n
Run Code Online (Sandbox Code Playgroud)\n

但这是有问题的。最后三位数字始终显示为 .000,小数点后似乎没有记录小数部分。只要保证除法均匀,不留小数就可以了。但如果不是这样,答案似乎只是小数部分,小数点右边有零,没有迹象表明有小数部分

\n

我明白这个问题看起来很简单。但现在我最终使用 Linux Ubuntu 计算器而不是更简单的命令行,因为这个潜在的陷阱。

\n

感谢大家提供的见解,使在命令行上使用除法和分数余数进行计算变得更容易。是的,我确实尝试了 64.0 而不是 64,此时我收到了语法错误。也许需要使用更复杂的东西。

\n

我找到了这个参考:“如何打印浮点数小数点后的前三位数字?

\n

但我仍然不明白如何在这种情况下应用它以获得所需的结果。任何帮助,将不胜感激。

\n

阅读建议后,我想出了以下 bash 脚本,并将其存储在/usr/local/sbin/quotrem中,以便我可以从任何命令提示符访问它。这个脚本仍然缺少,因为我每次想在不同的 Ubuntu 机器上使用它时都必须下载它。另外,它不是一个桌面图标,我只需双击即可输入所需的值并获得答案。也许其他人可以提出如何改进那里或以其他方式的建议。

\n
#!/bin/bash\n#This quoterm script takes two arguments: quoterm a b\n#Both …
Run Code Online (Sandbox Code Playgroud)

command-line bash

3
推荐指数
2
解决办法
1537
查看次数

标签 统计

bash ×1

command-line ×1