- 因为python输出的数据都是以科学计数法的形式表示的,所有想输出小数就变的很麻烦。如下图所示
输入:
pow(0.4321, 20)
输出:
5.1485546410769524e-08
灵感来源:
输入:
print("%.100f"%(pow(0.4321, 20)))
输出:
0.0000000514855464107695238993420865959704801895213677198626101016998291015625000000000000000000000000
- 下面为大家提供两种不同的转换方式。
2.1 方法1:
# 将print("%.100f"%(pow(0.4321, 20)))中间的直接提取出来
输入:
"%.100f"%(pow(0.4321, 20))
输出:
'0.0000000514855464107695238993420865959704801895213677198626101016998291015625000000000000000000000000'
2.2 方法2:
输入:
"{:.100f}".format(pow(0.4321, 20))
输出:
'0.0000000514855464107695238993420865959704801895213677198626101016998291015625000000000000000000000000'
**
注意:python精度不足,建议用C++
**
如果一定需要使用python,可参考如下方式。
例:5.1234的20次方
1. 将5.1234转变为整数,变成51234。(直接乘10000后会变成51234.0,需要转成int类型 )
2. pow(51234, 15)
结果:
43992025569928573701266488041146654993318703707511666295476720493953024
3. 将其转成列表类型,后将小数点插入其中。
4. 代码详情:
a = list(str(pow(51234, 15)))
a.insert(len(a) - (4*15), ".") #4为10的4次方,15为源操作数的次方。(4*15)的结果表示小数点有多少位
"".join(a)
输出:
'43992025569.928573701266488041146654993318703707511666295476720493953024'