作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可以使用 signif
将结果四舍五入为两位有效数字。 :
> signif(12500,2)
[1] 12000
> signif(12501,2)
[1] 13000
signif.floor
和
signif.ceiling
,以便我可以在地板或天花板上获得两个或更多有效数字?
> signif.ceiling(12500,2)
[1] 13000
> signif.floor(12501,2)
[1] 12000
signif
函数适用于负数和十进制数。
> signif(-125,2)
[1] -120
> signif.floor(-125,2)
[1] -130
> signif(1.23,2)
[1] 1.2
> signif.ceiling(1.23,2)
[1] 1.3
> signif.floor(0,2)
[1] 0
最佳答案
我认为这种方法适用于所有类型的数字(即整数、负数、小数)。
楼层功能
signif.floor <- function(x, n){
pow <- floor( log10( abs(x) ) ) + 1 - n
y <- floor(x / 10 ^ pow) * 10^pow
# handle the x = 0 case
y[x==0] <- 0
y
}
signif.ceiling <- function(x, n){
pow <- floor( log10( abs(x) ) ) + 1 - n
y <- ceiling(x / 10 ^ pow) * 10^pow
# handle the x = 0 case
y[x==0] <- 0
y
}
floor
/
ceiling
功能。检查它是否适合你。
x = 0
案例的处理程序正如 Heikki 在评论中所建议的那样。
x
的不同值
# for negative values
> values <- -0.12151 * 10^(0:4); values
# [1] -0.12151 -1.21510 -12.15100 -121.51000 -1215.10000
> sapply(values, function(x) signif.floor(x, 2))
# [1] -0.13 -1.30 -13.00 -130.00 -1300.00
> sapply(values, function(x) signif.ceiling(x, 2))
# [1] -0.12 -1.20 -12.00 -120.00 -1200.00
# for positive values
> sapply(-values, function(x) signif.floor(x, 2))
# [1] 0.12 1.20 12.00 120.00 1200.00
> sapply(-values, function(x) signif.ceiling(x, 2))
# [1] 0.13 1.30 13.00 130.00 1300.00
n
的不同值
> sapply(1:5, function(n) signif.floor(-121.51,n))
# [1] -200.00 -130.00 -122.00 -121.60 -121.51
> sapply(1:5, function(n) signif.ceiling(-121.51,n))
# [1] -100.00 -120.00 -121.00 -121.50 -121.51
关于r - 地板和天花板有 2 位或更多有效数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47177246/
菜鸟问题:我试图将一个球扔到地板上并使其粘在那里,甚至滚过平面。现在它穿过飞机。我不确定我在哪里犯了错误,或者我是否做错了什么。 var world, timeStep=1/60, scene, re
我的代码工作正常,直到我在编译时突然收到这条消息: c:\program files (x86)\microsoft visual studio 12.0\vc\include\math.h(700)
如何在 jq jq-1.5-1-a5b5cbe 中对数字进行舍入、地板、天花板和截断? 例如,使用 {"mass": 188.72} , 我要 {"mass": 188}带地板,{"mass": 18
我知道在 Java(可能还有其他语言)中,Math.pow 是在 double 上定义的并返回一个 double 。我想知道到底为什么写 Java 的人不也写一个返回 int 的 pow(int, i
我是一名优秀的程序员,十分优秀!