我需要在小数点后一位实现加号功能
print(plusOne(0.0001)) -> 0.0002
print(plusOne(0.000001)) -> 0.000002
print(plusOne(22)) -> 23
有人做过吗?
最佳答案
您可以获得您的值 ulp 属性并添加它:
let decimal1 = Decimal(string: "0.0001")!
let next1 = decimal1 + decimal1.ulp // 0.0002
let decimal2 = Decimal(string: "0.000001")!
let next2 = decimal2 + decimal2.ulp // 0.000002
let decimal3 = Decimal(string: "22")!
let next3 = decimal3 + decimal3.ulp // 23
或者只是获取您的 nextUp 或 nextDown 属性
decimal1.nextUp // 0.0002
decimal2.nextUp // 0.000002
decimal3.nextUp // 23
decimal1.nextDown // 0
decimal2.nextDown // 0
decimal3.nextDown // 21
https://stackoverflow.com/questions/67964849/
相关文章:
date - 在 Julia 中是否有一种有效的方法可以将程序的执行暂停到第二天?
docker-compose - docker compose 不暴露端口
javascript - 如何使用 Manifest v3 获取当前选项卡 URL?
.net-core - 指定的 deps.json[] 不存在 - Blazor WebAssemb
javascript - 如何使用 React-hook-form 和 yup 验证 React-q
javascript - 使用 showDirectoryPicker() 访问子目录文件内容
kotlin - 如何使用两个组合类提供接口(interface)实现?