将浮点数小数部分(右部分)转换为整数整数的最简单方法是什么?如何在Swift中将小数部分转换为整数
例如:
0.25
转换为25
0.09
转换为9
0.90
转换为90
我尝试了多种方法,包括浮点数转换为字符串,并提取分数,但由于某种原因,它会留下任何尾随零。例如0.90将转换为0.9的字符串。
将浮点数小数部分(右部分)转换为整数整数的最简单方法是什么?如何在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
苹果Foundation Framework提供了一种方法来做到这一点:
let numberFormatter = NumberFormatter()
numberFormatter.multiplier = 100
print(numberFormatter.string(from: 0.25))
具体文档的NumberFormatter is also available
使用的NumberFormatter的优点是,它是:
您是否将点数限制为两位数?如果不是,你怎么能从'0.90'和'0.900'告诉'0.9'? – dasblinkenlight
乘以100然后转换为Int。 –