首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift,XCode 12中舍入双小数位到小数点2位

在Swift,XCode 12中舍入双小数位到小数点2位
EN

Stack Overflow用户
提问于 2020-09-28 09:27:17
回答 2查看 5.6K关注 0票数 1

我有以下Swift代码:

代码语言:javascript
复制
var yourShare: Double {
        guard let totalRent = Double(totalRent) else { return 0 }
        guard let myMonthlyIncome = Double(myMonthlyIncome) else { return 0 }
        guard let housemateMonthlyIncome = Double(housemateMonthlyIncome) else { return 0 }
        let totalIncome = Double(myMonthlyIncome + housemateMonthlyIncome)
        let percentage = Double(myMonthlyIncome / totalIncome)
        let value = Double(totalRent * percentage)

        return Double(round(100*value)/100)
    }

然后,将该值显示为表单的一个部分:

代码语言:javascript
复制
  Section {
               Text("Your share: £\(yourShare)")
          }

我是Swift的新手,我试图确保yourShare只有2位小数点,比如$150.50,但是现在它看起来是$150.50000。我试图将其舍入到小数点的2位,这是Double(round(100*value)/100),我还尝试使用rounded()方法,但没有起作用。我搜索的其他StackOverflow文章提出了这两种方法,但我无法搞清楚我在这里做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-28 09:47:05

您可以直接在Text中使用字符串内插的方法来完成该操作:

代码语言:javascript
复制
struct ContentView: View {
    let decimalNumber = 12.939010

    var body: some View {
        Text("\(decimalNumber, specifier: "%.2f")")//displays 12.94
    }
}
票数 2
EN

Stack Overflow用户

发布于 2020-09-28 09:45:51

将其转换为小数点后有2位数字的字符串:

代码语言:javascript
复制
let yourShareString = String(format: "%.2f", yourShare)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64099456

复制
相关文章

相似问题

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