在Python中将字符串转换为浮点和整数(如果需要)
我必须调用一个API,它有时以字符串格式返回数值,在Python中将字符串转换为浮点和整数(如果需要),python,python-3.x,string,integer,Python,Python 3.x,String,Integer,我必须调用一个API,它有时以字符串格式返回数值,“288”而不是288,或者“0.1523”而不是0.1513。还有一些时候,我会得到正确的数值,39 如何使函数将其格式化为正确的值?这意味着: 如果我得到“288”将其转换为整数:288 如果我得到“0.323”将其转换为浮点:0.323 如果我得到288保持原样(它已经是一个整数了) 如果我得到0.323保持原样(它已经是一个浮动) 这是我的尝试。问题是,这也会将所有的浮点数转换成整数,我不希望这样。有人能帮帮我吗 def parse_
“288”而不是288
,或者“0.1523”而不是0.1513
。还有一些时候,我会得到正确的数值,39
如何使函数将其格式化为正确的值?这意味着:
- 如果我得到
“288”
将其转换为整数:288
- 如果我得到
“0.323”
将其转换为浮点:0.323
- 如果我得到
288
保持原样(它已经是一个整数了)
- 如果我得到
0.323
保持原样(它已经是一个浮动)
这是我的尝试。问题是,这也会将所有的浮点数转换成整数,我不希望这样。有人能帮帮我吗
def parse_value(value):
try:
value = int(value)
except ValueError:
try:
value = float(value)
except ValueError:
pass
提前感谢使用以下内容:
def convert(self, value)
a=value
b=float(a)
if(b==int(b)):b=int(b)
print(b)
使用以下内容:
def convert(self, value)
a=value
b=float(a)
if(b==int(b)):b=int(b)
print(b)
这对你有用吗
def parse_value(value):
f = float(value)
r = f if f != int(f) else int(f)
return r
这对你有用吗
def parse_value(value):
f = float(value)
r = f if f != int(f) else int(f)
return r
为什么要区分float和int?对于大多数用例,float(value)
就足够了。为什么要区分float和int?对于大多数用例,float(value)
就足够了。