2016-06-01 7 views
0
>>> x='2,33' 
>>> type(x) 
<type 'str'> 
>>> y=int(x) 

Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    y=int(x) 
ValueError: invalid literal for int() with base 10: '2,33' 
>>> 

別の関数からの値を計算目的でintに変換しようとすると問題に直面します。 問題は、 "、"その文字列に存在し、どのようにそれを削除するか考えています。int()の基数10のリテラルが無効です: "、"がある値で試してみた場合

+0

文字列のどの整数をint型に変換しますか? – martineau

答えて

0

これは達成したいことによって異なります。あなたはあなたの例では2または33のいずれかを保持する場合は、使用することができます。

>>> y = int(x.split(',')[0]) 
>>> y 
2 
>>> type(y) 
<type 'int'> 

あなたは両方の値が連結になりたい場合は、使用することができます。

>>> z = int(x.replace(',', '')) 
>>> z 
233 
>>> type(z) 
<type 'int'> 
+0

助けてくれてありがとう3kt – thebadguy

0

を使用すると、整数部分をしたいと仮定すると、例えば、次のようにカンマの後に部分を取り除くことができます。

int(x[:x.find(',')]) 
関連する問題