python - 为什么减法的行为如下?
问题描述
以下是我在 python 终端中所做的输出。
math.modf(45.332)
(0.33200000000000074, 45.0)
所以我觉得这很奇怪..试图模仿这个 modf 函数并得到相同的结果..
k=lambda x : x-float(math.floor(x))
k(5.5)
0.5
k(45.332)
0.33200000000000074
注意:仅当浮点数超过 1 位时才会发生这种情况
解决方案
当您modf(45.332)
在代码中调用时,输入实际上将转换为值为 45.332000732421874 的浮点数。
换句话说,您的问题发生在您使用模拟函数之前k(45.332)
,因为该输入参数也将被转换为浮点数。
推荐阅读
- python - 使用 Python Hmmlearn 多项式在给定一组观察值的情况下返回隐藏状态的函数
- php - PHP 无法从符号链接解析路径
- javascript - 我可以将值为“未定义”的字符串转换为实际未定义吗?
- reactjs - 从嵌套路由访问时,从错误的文件路径反应应用程序加载资产
- d3.js - flask-socketio 和 d3 之间的数据握手
- javascript - 在理解 JavaScript 数据类型方面需要一些帮助
- amazon-web-services - S3 + Lambda + Cloudfront 权限模型设置问题
- javascript - 从组件中的 Angular 服务获取原始 HTML
- neo4j - Neo4j 查询需要很长时间才能执行
- docker - 不能同时在一个 swarm 中使用多个 docker 网络