给定Float价格0.33,我希望删除前导零和小数,以便可以将其显示为33美分。
发布于 2017-05-09 08:10:13
只要乘以100就行了。
0.33 * 100 = 33如果它是一个字符串。即"0.33“,
if let float = Float("0.33") {
let cents = float * 100
let centsStr = "\(cents)" // equals "33"
}如果你有一个多个小数位的情况,那么只需要这样舍入即可。
if let float = Float("0.332123") {
let cents = Int(round(float * 100))
let centsStr = "\(cents)" // equals "33"
print(centsStr)
}发布于 2017-05-09 08:13:57
只需将价格乘以100,并将其转换为Int,就可以去掉一美分的零头。如果你想要四舍五入,那就稍微复杂一点。
比方说price = 3.335
那就这么做
if (price*1000 %10 >= 5) {
price = Int(price * 100 + 1)
}
else {
price = Int(price * 100)
}如果您不关心最后一分钱的舍入,那么else部分就是您需要做的全部工作。
https://stackoverflow.com/questions/43859015
复制相似问题