功能来获得一个数字的力量

时间:2015-06-18 18:17:26

标签: r multiplication floating

寻找一种从浮点数得到10的幂的方法

6.45e-8 - 将是8

3.21e-4将是4

0.013将是2

所有

中的

或减号

是一个可以执行以下操作的功能 而不是乘以6.45e_8,它将首先除以1e-8然后乘以(6.45e-8 / 1e8 = ...)。

2 个答案:

答案 0 :(得分:5)

怎么样

floor(log10(x))

log10计算日志库10,floor找到下一个较小的整数。

答案 1 :(得分:1)

tenexp <- function(x){c <- trunc(log10(abs(x))); return(abs(c-1*(c<0)))}

这是(期望的?)结果:

> tenexp(0.0134)
[1] 2
> tenexp(6.45e-8)
[1] 8
> tenexp(6.45e+3)
[1] 3
> tenexp(-1.28e+4)
[1] 4