求最简洁的四舍五入代码

g
gooog
楼主 (北美华人网)
求R里面最简洁的四舍五入代码 要求 round(0.5) 到 1 同时 round(0.49)到 0
代码越简单越好。
s
sunleilucky
From chatGPT3.5 # 四舍五入到最接近的整数 round_half_up <- function(x) { ifelse(x >= 0, floor(x + 0.5), ceiling(x - 0.5)) } # 示例 result1 <- round_half_up(0.5) # 结果为 1 result2 <- round_half_up(0.49) # 结果为 0 print(result1) print(result2)
r
rainbowofmylife
不会R, 但是大概意思就是mod一下
return num % 1 >= 0.5 ? Math.ceil(num) : Math.floor(num)
g
gooog
From chatGPT3.5 # 四舍五入到最接近的整数 round_half_up <- function(x) { ifelse(x >= 0, floor(x + 0.5), ceiling(x - 0.5)) } # 示例 result1 <- round_half_up(0.5) # 结果为 1 result2 <- round_half_up(0.49) # 结果为 0 print(result1) print(result2)
sunleilucky 发表于 2023-11-28 15:21

谢谢!
b
babybaby
哪有那么麻烦 floor(x*2)
g
gooog
From chatGPT3.5 # 四舍五入到最接近的整数 round_half_up <- function(x) { ifelse(x >= 0, floor(x + 0.5), ceiling(x - 0.5)) } # 示例 result1 <- round_half_up(0.5) # 结果为 1 result2 <- round_half_up(0.49) # 结果为 0 print(result1) print(result2)
sunleilucky 发表于 2023-11-28 15:21

看chatgpt给我的答案。
custom_round <- function(x) { ifelse(x >= 4.5, ceiling(x), floor(x)) }
# Examples rounded_value_1 <- custom_round(0.5) # Results in 1 rounded_value_2 <- custom_round(0.49) # Results in 0 rounded_value_3 <- custom_round(4.5) # Results in 5 rounded_value_4 <- custom_round(4.49) # Results in 4
l
ldbphilly
as.integer(x+0.5)
l
lee_hr
round(-0.5) = ? round(-0.49) = ? round(-0.51) = ?