我必须进行一些迭代计算,并且每次都需要找到我的浮点数的数量级(以科学计数法在e后面的位)。 目前,我正在循环执行此操作,但是这已经花了很多时间,而且我的计算永远都花不完。
while n<1.0:
order=order-1
n=n*10
是否有一些函数可以用来从python存储浮点数的方式快速提取此信息? 有人告诉我浮点数分别存储值和指数。
编辑:它不是重复的,因为我要的是最有效的方法。用对数提出的那个实际上比循环慢三倍。
答案 0 :(得分:2)
一种简单的方法是获取数字的对数,然后取对数结果,如下所示:
import math
def orderOfMagnitude(number):
return math.floor(math.log(number, 10))