有没有办法执行类似eval
的函数,将其值强制转换为 float ?我希望能
eval('1/3')
并让它返回浮点值 .333333 而不是整数值 0。
最佳答案
获取__future__.division
的编译器标志,将它和您的代码传递给compile()
,然后运行eval()
返回代码对象。
(mh 注释) 这具有不更改全局除法操作的额外优势,这可能会产生意想不到的副作用。 (尾注)
>>> import __future__
>>> eval(compile('1/3', '<string>', 'eval', __future__.division.compiler_flag))
0.33333333333333331
关于Python:将值强制转换为 float 的 eval()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9407640/