2015-08-15 90 views
0

在Kivy中使用TextInput時,即使輸入限制爲代表float s或int s的字符,使用input_filter時,輸入的所有內容仍以字符串形式保存。如何將TextInput.text轉換爲實際的float或int類型,以便我可以使用它進行計算?Kivy:如何將用戶輸入轉換爲int或float

+0

嘗試將模型轉換爲浮點數? –

回答

0

嘗試cast

str_float = '123.456' 
flt_val = float(str_float) 

int

int_val = int(str_int) 

如果字符串是無效的整數,然後它會拋出異常ValueError。 所以,

try: 
    int_val = int(str_int) # or flt_val = float(str_float) 
except ValueError: 
    # Handle exception. 
0

爲什麼你不能只抓住TextInput.text並使用floatint轉換它?即text = TextInput.text爲int ... conversion = int(text)

+0

int將在float上失敗 –

+0

爲什麼我說'int'使用'int'強制轉換,但你說得對,應該只是用'float'作爲例子來處理整數和浮點數。 – Pythonista

0

在Kivy將TextInput默認爲Unicode。所以你將不得不做很多轉換。大部分回到漂浮物和字符串。

entry = float(entry) 
entry = str(entry) 
相關問題