**031:文字列を数値に変換**
数値または適切な文字列をint型に変換するにはint(x)を使う。xが数値である場合、intは小数部を破棄して0に丸める。
逆に数値を文字列にするにはバッククォートで囲むか、str()を使う
float型に変換するには組み込み関数のfloat()を使う。2進数で計算しているので誤差が出ることに注意。
>>> x='23' >>> y=int(x) >>> y 23 >>> a=2 >>> b=4 >>> c=a+b >>> c 6 >>> e=`a` >>> e 2 >>> str(a) '2' 浮動小数点に変換 >>> x='2.3' >>> float(x) 2.2999999999999998 >>> print float(x) 2.3
文字列が整数か浮動小数点か文字列かを判別する:
def check_numbertype(s):
"""
文字列が整数か浮動小数点か文字列かを判別する
"""
try:
int(s)
return 'integer'
except ValueError:
try:
float(s)
return 'float'
except:
return 'string'
print check_numbertype('12')
print check_numbertype('1.23')
print check_numbertype('ab')
integer
float
string
バックスラッシュじゃなくて -- Thu, 16 Mar 2006 00:34:54 +0900 reply
バッククォートじゃないでしょうか。
ご指摘ありがとうございます --seko, Fri, 17 Mar 2006 19:54:22 +0900 reply
おっしゃるとおりです。さっそく修正いたしました。