字符串转换为数字
String conversion to Number
我正在用 python 编写编程语言,我需要将 String 转换为 Integer 或浮点数取决于转换值的类型。我使用了三元运算符,甚至创建了一个以字符串形式返回值类型的函数:
def rtrn_as_str(value):
return str(type(value))[8:-2]
这是输出:
>>>rtrn_as_str(123)
'int'
>>>rtrn_as_str('A')
'str'
但是我找不到像 Javascript 那样将字符串转换为浮点数或整数的方法。谁能帮我解决这个问题?
我不确定这是否是您想要做的,但是可以轻松地将字符串转换为浮点数:
In [32]: some_string = "1.2"
In [33]: some_string_as_float = float(some_string)
...:
In [34]: print(some_string_as_float)
1.2
In [35]: type(some_string_as_float)
Out[35]: float
如果您想先尝试将其转换为整数:
In [36]: some_other_string = "1"
In [37]: def cast(string):
...: try:
...: return int(string)
...: except:
...: return float(string)
...:
In [38]: cast(some_string)
Out[38]: 1.2
In [39]: cast(some_other_string)
Out[39]: 1
如果你的意思是将 'str' 转换为 int 或 float,你可以试试这个 ;
import ast
number = input("Number : ")
print(type(ast.literal_eval(number)))
输出;
Number : 3
<class 'int'>
Number : 3.14
<class 'float'>
我正在用 python 编写编程语言,我需要将 String 转换为 Integer 或浮点数取决于转换值的类型。我使用了三元运算符,甚至创建了一个以字符串形式返回值类型的函数:
def rtrn_as_str(value):
return str(type(value))[8:-2]
这是输出:
>>>rtrn_as_str(123)
'int'
>>>rtrn_as_str('A')
'str'
但是我找不到像 Javascript 那样将字符串转换为浮点数或整数的方法。谁能帮我解决这个问题?
我不确定这是否是您想要做的,但是可以轻松地将字符串转换为浮点数:
In [32]: some_string = "1.2"
In [33]: some_string_as_float = float(some_string)
...:
In [34]: print(some_string_as_float)
1.2
In [35]: type(some_string_as_float)
Out[35]: float
如果您想先尝试将其转换为整数:
In [36]: some_other_string = "1"
In [37]: def cast(string):
...: try:
...: return int(string)
...: except:
...: return float(string)
...:
In [38]: cast(some_string)
Out[38]: 1.2
In [39]: cast(some_other_string)
Out[39]: 1
如果你的意思是将 'str' 转换为 int 或 float,你可以试试这个 ;
import ast
number = input("Number : ")
print(type(ast.literal_eval(number)))
输出;
Number : 3
<class 'int'>
Number : 3.14
<class 'float'>