ios - 如何在 Swift 中获取小数位数并加一?

我需要在小数点后一位实现加号功能

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() 访问子目录文件内容

c# - 在 ASP.NET Core 中获取当前星期几

kotlin - 如何使用两个组合类提供接口(interface)实现?

vue.js - vue.config.js 中的 Vue devServer.proxy 不工作

SQL - Like and greater than 函数