如何从浮点值Swift 3中删除前导零
Posted
技术标签:
【中文标题】如何从浮点值Swift 3中删除前导零【英文标题】:How to Remove leading zeroes from a float value Swift 3 【发布时间】:2017-05-09 00:03:33 【问题描述】:鉴于Float
价格为 0.33,我想删除前导零和小数,以便我可以将其显示为 33 美分。
【问题讨论】:
【参考方案1】:只需乘以 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)
【讨论】:
【参考方案2】:只需将价格乘以 100 并将其转换为 Int
即可消除一分钱。如果你想要四舍五入,那么它会稍微复杂一些。
假设price = 3.335
那就做吧
if (price*1000 %10 >= 5)
price = Int(price * 100 + 1)
else
price = Int(price * 100)
else
部分是您需要做的所有事情,如果您不关心四舍五入的最后一分。
【讨论】:
您可以将其转换为 double,然后使用 round(),然后将其转换回 int。 @TristanBeaton 是的哈哈,这可能会更容易。我不知道双打有一个 round() 函数。 它也可用于浮动。您将能够在我的回答中看到这一点。这是您想出的一种非常聪明的四舍五入方法。以上是关于如何从浮点值Swift 3中删除前导零的主要内容,如果未能解决你的问题,请参考以下文章