swift - 为什么将两个小数双精度数相乘并将结果转换为字符串会导致多余的零?
问题描述
var d1 = 0.124 * 0.12456 // 0.01544544
var s1 = String(d1) // 0.015445440000000001
var d2 = 0.01544544 // 0.01544544
var s2 = String(d2) // 0.01544544
为什么将两个小数 Double 的乘积转换为 String 会导致结果的小数部分出现无关的零(以 1 结尾),但将小数 Double 显式转换为 String 不会?以及如何从结果中删除无关部分?
解决方案
推荐阅读
- excel - VBA woocomerce API“rest_missing_callback_param name”
- wpf - 如何从内部列表视图中设置与外部列表视图项的绑定?
- python - 如何在 Django 中将表单数据作为实例传递?
- python - 使用 Python 函数更改全局变量
- google-sheets - 谷歌表格嵌套搜索,希望不包含某些关键字
- typescript - TypeScript 中的自定义对象转换
- node.js - 日程安排日期的 DialogFlow 可用性
- amazon-web-services - CW 代理未从 eks 集群获取 mem_used_percent
- ansible-facts - 如果寄存器输出有“:”,当条件如何使用
- blazor - 更好地实现 Blazor WASM Api 响应?