例如,当计算以下2**1000
时,您会得到整个值
10715086071862673209484250490600018105614048117053360743750388351051124936122493198378815695858112759467291755314682518714528569231404359845774798574803943456777482423098542107460506237114187795418213530464748358194126739876755591655439460729145711996477686542167660429831652624386837205668069376
但如果对浮点值(即1.2**1000
(执行相同操作,则会产生
1.5179100891722457e+79
有没有一种内置的方法来获得这样一个计算的全部值(不是用科学符号表示(?
>>> int(1.2**1000)
15179100891722457049849556131606991918673074938672571271083893226004713928916992L
您应该能够使用format()
a = 1.2**1000
print(format(a, 'f'))
给出输出15179100891722457049849556131606991918673074938672571271083893226004713928916992.000000
尝试强制转换为整数。
int(1.2 ** 1000)
如果你想得到小数,尽管你需要做一些额外的工作,这取决于你的目标
您可以使用它打印
print("{:.3E}".format(1234567890987654321))
这将输出:
1.235E+18
您也可以使用十进制值。它将以类似的方式对其进行格式化。
print("{0:.3E}".format(1234567890987654321.98765432))
1.235E+18
如果你想打印完整的号码,那么你可以做以下操作:
y = 1234567890987654321.98765432
print(f"{y:.22}")
它将输出:
1234567890987654400.0