如何从浮点值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中删除前导零的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C++ 从字符串中删除前导零?

如何从字母数字文本中删除前导零?

从输入 type=number 中删除前导零

使用 C# 从 IP 地址中删除前导零

如何使用 C# 删除前导零

如何删除字符串中的前导零和尾随零? Python