首页 > 解决方案 > Xcode SwiftUI:数学方程/加密利润计算器

问题描述

我想做一个应用程序,我可以在其中计算我从加密投资中获得的利润。它是用 Xcode SwiftUI 编写的。

我不知道如何编写方程式。这是我的数学方程式:

金额 = 10 欧元,购买日期的价格 = 12.000 欧元,销售日期的价格 = 20.000 欧元</p>

  1. 60 欧元 / 12.000 欧元 = 0.005 比特币
  2. 0.005 比特币 * 20.000 欧元 = 100 欧元</li>
  3. 100€-60€=40€</li>

如何将其转换为代码?

这是我的代码:

我现在的代码

 //Gewinnrechner
struct GewinnView: View {
    @State private var anlage: String = ""
    @State private var kauf: String = ""
    @State private var verkauf: String = ""
    @State private var ergebnis: String = ""

    var body: some View {
        NavigationView {
            Form {
                Section(header: Text("Anlagebetrag")) {
                    TextField("Anlagebetrag in EUR", text: $anlage)
                        .keyboardType(.decimalPad)
                        }
          
                Section(header: Text("Kaufkurs in EUR pro Stück")) {
                    TextField("Kaufkurs in EUR", text: $kauf)
                        .keyboardType(.decimalPad)
                        }

                Section(header: Text("Verkaufskurs in EUR pro Stück")) {
                    TextField("Verkaufskurs in EUR", text: $verkauf)
                        .keyboardType(.decimalPad)
                        }

                Section(header: Text("Ergebnis")) {
                    Text("\(anlage + kauf)€&quot;)
                    }
                
            }
            .navigationTitle("Gewinnrechner")
        }
    }
}

37中有这个测试方程:它不会将“anlage”添加到“kauf”。它只是在第一个 var 之后写下来。E. q.:anlage = 5 和 kauf = 7。它不会像 5 + 7 = 12 那样添加它。它只是这样:5 + 7 = 57。

标签: swiftxcodeswiftuicalculatorequation

解决方案


这是关于在这里将 String 更改为 Double 的一种工作方式:


struct GewinnView: View {
    
    @State private var anlage: String = String()
    @State private var kauf: String = String()
    @State private var verkauf: String = String()
    
    
    @State private var anlageDouble: Double = Double()
    @State private var kaufDouble: Double = Double()
    @State private var ergebnis: Double = Double()
    
    var body: some View {
        
        NavigationView {
            
            Form {
                Section(header: Text("Anlagebetrag")) { TextField("Anlagebetrag in EUR", text: $anlage) }
                
                Section(header: Text("Kaufkurs in EUR pro Stück")) { TextField("Kaufkurs in EUR", text: $kauf) }
                
                Section(header: Text("Verkaufskurs in EUR pro Stück")) { TextField("Verkaufskurs in EUR", text: $verkauf) }
                
                Section(header: Text("Ergebnis")) { Text(ergebnis.description + "€&quot;) }
                
            }
            .navigationTitle("Gewinnrechner")
        }
        .keyboardType(.decimalPad)
        .onChange(of: anlage) { newValue in
            
            if let unwrappedDouble: Double = Double(newValue) {
                
                anlageDouble = unwrappedDouble
                ergebnis = unwrappedDouble + kaufDouble
                
            }
            
        }
        .onChange(of: kauf) { newValue in
            
            if let unwrappedDouble: Double = Double(newValue) {
                
                kaufDouble = unwrappedDouble
                ergebnis = anlageDouble + unwrappedDouble
                
            }
            
        }
    }
}

推荐阅读