如何在 Swift 中将小数转换为整数

  • 本文关键字:小数 转换 整数 Swift swift
  • 更新时间 :
  • 英文 :


将浮点小数的小数部分(右侧部分(转换为整数的最简单方法是什么?

例如:

0.25转换为25

0.09转换为9

0.90转换为90

我已经尝试了几种方法,包括将浮点数转换为字符串并提取分数,但由于某种原因,它省略了任何尾随零。例如,0.90 将转换为字符串为 0.9。

下面是一个示例:

let a = 0.90
let fractionalPart = a.truncatingRemainder(dividingBy: 1.0)
let modifiedFractionalPart = Int(fractionalPart * 100.0)
let string = String(modifiedFractionalPart)
// prints 90

如果您不允许乘以100.0,这意味着您实际上不必将小数部分限制为小数点后两位,而是需要在.之后使用整个部分,然后使用以下方法:

let a = 0.09017
let fractionalPart = String(a).components(separatedBy: ".")[1]  // "09017"

然后,如果您必须将其转换为Int只需执行以下操作:

let fractionalPartInt = Int(fractionalPart) // 09017

Apple的Foundation Framework提供了一种方法来做到这一点:

let numberFormatter = NumberFormatter()
numberFormatter.multiplier = 100
print(numberFormatter.string(from: 0.25))

还提供了有关 NumberFormatter 的特定文档

使用数字格式化程序的优点是:

  • 更模块化 -- 如果需要更改转换因子,只需更改乘数即可
  • 更具表现力 - 在查看旧项目时,拥有自记录代码非常有用

最新更新