大量我得到一個較大的值作爲字符串如下代表蟒蛇
s='1234567'
d='12345678912'
我想要做算術爲(100/d)*s
要做到這一點,我需要將字符串轉換爲適當大的值。將它們表示爲一個數字的方式是什麼?
大量我得到一個較大的值作爲字符串如下代表蟒蛇
s='1234567'
d='12345678912'
我想要做算術爲(100/d)*s
要做到這一點,我需要將字符串轉換爲適當大的值。將它們表示爲一個數字的方式是什麼?
只需使用float
轉換它們即可。 Python負責創建適當的大型表示。你可以閱讀更多關於Numerals here。
s='1234567'
d='12345678912'
(100/float(d))*float(s)
你可以使用int
轉換它們,但作爲@GamesBrainiac指出,將在Python3只工作;在Python2中,它會在大多數時間給你0結果。
(100/int(d))*int(s)
我得到一個無效的文字浮動錯誤 – user2626431 2014-10-10 03:42:36
@ user2626431它對我來說工作正常。你的輸入值是什麼?他們是否包含空白? – 2014-10-10 03:44:19
如果s
和d
很大例如,成千上萬的數字,那麼你可以使用fractions
module找到部分:
from fractions import Fraction
s = int('1234567')
d = int('12345678912')
result = Fraction(100, d) * s
print(result)
# -> 30864175/3086419728
float
具有有限的精度;它不適用於非常大/小的數字。
python中的數字可以像您希望的那樣大。不需要使用字符串。只要做'int(number)'就完成了。 Python 3具有很多數字特性。 – 2014-10-10 03:39:45
查看十進制模塊 – tdelaney 2014-10-10 03:41:23
@GamesBrainiac我認爲'int'不能用OP給出的例子工作,在大多數情況下它會輸出'0'。 – 2014-10-10 03:42:55