首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从浮点值中删除前导零Swift 3

如何从浮点值中删除前导零Swift 3
EN

Stack Overflow用户
提问于 2017-05-09 08:03:34
回答 2查看 939关注 0票数 0

给定Float价格0.33,我希望删除前导零和小数,以便可以将其显示为33美分。

EN

回答 2

Stack Overflow用户

发布于 2017-05-09 08:10:13

只要乘以100就行了。

代码语言:javascript
复制
0.33 * 100 = 33

如果它是一个字符串。即"0.33“,

代码语言:javascript
复制
if let float = Float("0.33") {

    let cents = float * 100

    let centsStr = "\(cents)" // equals "33"
}

如果你有一个多个小数位的情况,那么只需要这样舍入即可。

代码语言:javascript
复制
if let float = Float("0.332123") {

    let cents = Int(round(float * 100))

    let centsStr = "\(cents)" // equals "33"

    print(centsStr)
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-09 08:13:57

只需将价格乘以100,并将其转换为Int,就可以去掉一美分的零头。如果你想要四舍五入,那就稍微复杂一点。

比方说price = 3.335

那就这么做

代码语言:javascript
复制
if (price*1000 %10 >= 5) {
    price = Int(price * 100 + 1)
}
else {
    price = Int(price * 100)
}

如果您不关心最后一分钱的舍入,那么else部分就是您需要做的全部工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43859015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档