将科学记数法中的数字转换为具有有效数和指数的元组



如何将科学记数法中的数字转换为包含有效数和指数的元组?例如:

4e+3(4, 3)

4e-3(4, -3)

你可以使用

def scientific_to_tuple (float_number)
# Assume that float_number = 0.0034
scientific_string = f"{float_number:e}"
# after that, scientific_string looks like '3.400000e-03'
return tuple([float(item) for item in scentific_string.split("e")])
注意:我累了,所以方法返回字符串。我修好了。实际上,如果不需要元组,可以省略元组强制转换。像
return [float(item) for item in scentific_string.split("e")]

也许你想要这个修改版的Ahmet Dundar的答案:

def scientific_to_tuple (float_number):
scientific_string = f"{float_number:e}"
a, b = scientific_string.split("e")
f = float(a)
i = int(f)
a = i if f == i else f
return (a, int(b))

最新更新