寻找一种从浮点数得到10的幂的方法
6.45e-8 - 将是8
3.21e-4将是4
0.013将是2
所有中的或减号
是一个可以执行以下操作的功能 而不是乘以6.45e_8,它将首先除以1e-8然后乘以(6.45e-8 / 1e8 = ...)。
答案 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