我在R中使用此功能时遇到问题。我不知道为什么trunc(z)
是637而不是x = 51/80*100
是638。
x <- 51/80*100
x
#[1] 63.75
z = abs(x)*10^1
z = z + 0.5
z
#[1] 638
z = trunc(z)
z
#[1] 637
z = z/10^1
z
#[1] 63.7
答案 0 :(得分:0)
@ d.b已经指出z
是数字,对于数字,您不一定会看到。
检查
formatC(z, digits = 14, format = "f")
#[1] "637.99999999999989"
(您可能必须在系统上更改digits
参数)
如果将其转换为整数,也会得到
as.integer(z)
#[1] 637
在使用数字之前,您可以round
使用数字
trunc(round(z))
#[1] 638