在python中表示大数字

时间:2014-10-10 03:37:02

标签: python

我得到一个大字符串,如下所示

s='1234567'
d='12345678912'

我想做(100/d)*s算术 为此,我需要将字符串转换为适当的大值。将它们表示为数字的方法是什么?

2 个答案:

答案 0 :(得分:0)

只需使用float转换它们即可。 Python负责创建适当的大型表示。您可以阅读有关Numerals here的更多信息。

s='1234567'
d='12345678912'

(100/float(d))*float(s)

您可以使用int转换它们,但正如@GamesBrainiac指出的那样,它只适用于Python3;在Python2中,它大部分时间都会给你0作为结果。

(100/int(d))*int(s)

答案 1 :(得分:0)

如果sd很大,例如数千个数字,那么您可以使用fractions module来查找分数:

from fractions import Fraction

s = int('1234567')
d = int('12345678912')
result = Fraction(100, d) * s
print(result)
# -> 30864175/3086419728

float具有有限的精度;它不会为非常大/小的数字工作。