Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何转换字符串';100+;20*50/10-9';使用python浮动值_Python 3.x_Python 2.7_Floating_Arithmetic Expressions - Fatal编程技术网

Python 3.x 如何转换字符串';100+;20*50/10-9';使用python浮动值

Python 3.x 如何转换字符串';100+;20*50/10-9';使用python浮动值,python-3.x,python-2.7,floating,arithmetic-expressions,Python 3.x,Python 2.7,Floating,Arithmetic Expressions,海伊朋友 如何将字符串表达式值转换为浮点值 例如:s1='100+20*50/10-9'此s1转换为float值。基于算术运算符优先级规则,它应该给出191。但是字符串表达式不能转换为float 我使用了float('100+20*50/10-9'),它会引发错误: 回溯(最近一次调用):文件“”,第1行,在 ValueError:无法将字符串转换为浮点:“100+20*50/10-9”` 谢谢 如果试图将计算字符串解析为值,则必须首先计算该字符串。像这样: eval('100+20*50/10

海伊朋友

如何将字符串表达式值转换为浮点值 例如:
s1='100+20*50/10-9'
s1
转换为
float
值。基于算术运算符优先级规则,它应该给出191。但是字符串表达式不能转换为float

我使用了
float('100+20*50/10-9')
,它会引发错误:

回溯(最近一次调用):文件“”,第1行,在 ValueError:无法将字符串转换为浮点:“100+20*50/10-9”`


谢谢

如果试图将计算字符串解析为值,则必须首先计算该字符串。像这样:

eval('100+20*50/10-9')

然后您可以将其转换为如下所示的浮点值
浮点值(eval('100+20*50/10-9'))


但是,如果计算字符串看起来像这样,从而返回
4343333(3)
,那么您应该考虑更好的解决方案,在进行计算之前将其中的值解析为浮点值。请看区别:



也可以使用另一种方法:

s = '101+20*50/3'

print("{:.8f}".format(eval(s)))

#ouput:

434.00000000
可能重复的
s = '101+20*50/3'

print("{:.8f}".format(eval(s)))

#ouput:

434.00000000