【问题标题】:How do you convert a string containing an operation into a numerical value [duplicate]如何将包含操作的字符串转换为数值[重复]
【发布时间】:2021-12-11 07:05:48
【问题描述】:

我需要将'x / y'形式的字符串变量转换为数值,其中x和y是该字符串中的任意值。我假设,使用 python,只需执行 float('x/y') 就可以解释除法运算,从而产生一个数值作为响应,但相反,我遇到了以下错误:

ValueError: could not convert string to float: '7/100' (7 和 100 是这里的任意值)

这表明该方法无效。有没有其他方法可以做到这一点?我想过将“x”转换为整数,然后将“y”转换为整数,然后将两个整数值相除,但肯定有更好的方法。

【问题讨论】:

    标签: python math calculated-columns


    【解决方案1】:
    >>> a = '4/10'
    >>> float(eval(a))
    0.4
    

    但我会小心 eval 。不安全,你可以改用ast.literal_eval()

    【讨论】:

    猜你喜欢
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 2015-07-13
    • 1970-01-01
    • 2023-03-29
    • 2014-09-08
    • 2017-12-15
    相关资源
    最近更新 更多