字符串转换为数字

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'>