如何在Swift中获得小数位数和加一

  • 本文关键字:小数 Swift 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

truncatingRemainder(divisingBy:(将帮助您找到解决方案。请参阅下面的代码片段。

let x:Double = 1234.5678
let decimalPart:Double = x.truncatingRemainder(dividingBy: 1)    //0.5678
let integerPart:Double = x.rounded(.towardZero)                   //1234

最新更新