Python:将值强制转换为 float 的 eval()?

标签 python eval

有没有办法执行类似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/

相关文章:

perl - 不确定我是否正确使用了 Perl 的 Try::Tiny

python - 如何从 process.Popen() 引发事件 getche() - 不监视标准输入

python - 如何使用自定义数据生成器进行 keras 图像增强?

python - 发送带有 3 个不同附件的一封电子邮件 python 3

python - base64 字符串的编译和求值

javascript - 摆脱评估

python - 在不同的单元测试中重用生成器

python - 使用python删除excel文件中的NA行

C# Eval() 支持

javascript 将对象转换为字符串