从 5 取整续

问题描述

Round up from .5

嗨,我想问一个与这篇文章中提出的问题相关的问题。 很抱歉重新发布相同的问题,但我无法发表评论

基本上,我尝试使用此链接中提供的公式以及看门人功能来进行四舍五入。

但似乎对于某些数字,我的舍入没有正确进行。

这是我正在使用的功能

变体 1

specify_decimal <- function(x,k) trimws(format(round_half_up(x,k),nsmall=k))

变体 2

specify_decimal <- function(x,k) trimws(format(round2(x,nsmall=k))
round2 = function(x,n) {
posneg = sign(x)
z = abs(x)*10^n
z = z + 0.5 + sqrt(.Machine$double.eps)
z = trunc(z)
z = z/10^n
z*posneg
}

代码specify_decimal(data,4)

数据 预期结果 实际结果
205622666.19065 205622666.1907 205622666.1906
410498564.18375 410498564.1838 410498564.1837
79625403.62595 79625403.6260 79625403.6259
4704482.76615 4704482.7662 4704482.7661
54681256.56625 54681256.5663 54681256.5662

我正在尝试将我的数字格式化为特定的小数位(在本例中为 4 dp),如果第 5 位小数是 5,我想四舍五入,对于大多数数字,这个公式似乎工作正常,但我我不太确定为什么它似乎对这几个数字不起作用。

非常感谢您的建议。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)