在Python中从整数十进制索引生成浮点数

在Python中从整数十进制索引生成浮点数,python,string,floating-point,Python,String,Floating Point,给定给定的索引整数,如何生成引用小数点为0的浮点数或字符串 示例: Given an increment factor digit 1: n=-4 ~ "0.0001" n=-10 ~ "0.0000000001" 只需使用科学符号: n=1e-4#0.0001 n=1e-10#0.0000000001 n=2e1#2.0 n=2e5#20000.0 n=2e-5#0.00005 这是python内置的。像这样做 x=5.3e6 等于做 x=5.3*

给定给定的索引整数,如何生成引用小数点为0的浮点数或字符串

示例:

Given an increment factor digit 1:
n=-4 ~ "0.0001"
n=-10 ~ "0.0000000001"

只需使用科学符号:

n=1e-4#0.0001
n=1e-10#0.0000000001
n=2e1#2.0
n=2e5#20000.0
n=2e-5#0.00005
这是python内置的。像这样做

x=5.3e6
等于做

x=5.3*(10**6)

值得注意的是,
e
之前的数字本身可能是一个浮点数,而
e
之后的数字(10的幂)必须是一个整数。还请注意,这将始终返回浮点数,因此如果出于某种原因希望将其作为字符串,则必须对结果调用
str()

只需使用科学符号:

n=1e-4#0.0001
n=1e-10#0.0000000001
n=2e1#2.0
n=2e5#20000.0
n=2e-5#0.00005
这是python内置的。像这样做

x=5.3e6
等于做

x=5.3*(10**6)

值得注意的是,
e
之前的数字本身可能是一个浮点数,而
e
之后的数字(10的幂)必须是一个整数。还请注意,它总是返回浮点数,因此如果出于某种原因希望将其作为字符串,则必须对结果调用
str()。因此,取数字,
d
,然后乘以
10^n
。但是,在执行此操作时,您应该注意,正数是10的一个因子,因为它从0开始,而不是1。要解决这个问题,只要从n中减去一,如果它是正的。此lambda执行以下操作:
lambda n:n-1 if(n>0)else n

# When the factor (d) is 1
n=2      f = d*10^n     "100.0"
n=-1     f = d*10^n     "0.1"

# When the factor (d) is 2
n = 4    f = d*10^n     "20000.0"
n = -5   f = d*10^n     "0.00002"

看起来你只需要10的幂。因此,取数字,
d
,然后乘以
10^n
。但是,在执行此操作时,您应该注意,正数是10的一个因子,因为它从0开始,而不是1。要解决这个问题,只要从n中减去一,如果它是正的。此lambda执行以下操作:
lambda n:n-1 if(n>0)else n

# When the factor (d) is 1
n=2      f = d*10^n     "100.0"
n=-1     f = d*10^n     "0.1"

# When the factor (d) is 2
n = 4    f = d*10^n     "20000.0"
n = -5   f = d*10^n     "0.00002"