小编Hai*_*ang的帖子

printf 的奇怪浮点舍入行为

我在这个网站上阅读了一些答案,发现printf四舍五入是可取的。

然而,当我在实践中使用它时,一个微妙的错误导致我出现以下行为:

$ echo 197.5 | xargs printf '%.0f'
198
$ echo 196.5 | xargs printf '%.0f'
196
$ echo 195.5 | xargs printf '%.0f'
196
Run Code Online (Sandbox Code Playgroud)

请注意,四舍五入196.5变为196

我知道这可能是一些微妙的浮点错误(但这不是一个很大的数字,嗯?),所以有人可以对此有所了解吗?

对此的解决方法也非常受欢迎(因为我现在正在尝试将其付诸实践)。

bash shell-script math floating-point printf

8
推荐指数
1
解决办法
5649
查看次数

标签 统计

bash ×1

floating-point ×1

math ×1

printf ×1

shell-script ×1