0

如果在应用程序中插入值而不是在“让我们说更喜欢顺序”中插入一个大值,那么它是正确的,但它看起来不太好。

例如,如果第二个 Textfield (userData.Rent) 在第一个 Textfield(userData.BPrice) 之前填充,“return Brutto”的值为 24,000 % ...

如何将计算值限制为某个值,例如不能高于 20% 或任何其他值。但低于这个值,它会自由移动。

它应该或多或少停在让我们说 20%

// 内容视图:

struct ContentView: View {
    @EnvironmentObject var userData: UserData

    var Brutto: Double{
        let price = Double(userData.BPrice) ?? 0
        let rent = Double(userData.Rent) ?? 0

        let Brutto = rent * 12 / price * 100

        return Brutto
    }

    var body: some View {
        VStack {            
            Text ("\(Brutto, specifier: "%.1f")")
        }
        VStack{
             TextField("BPrice", text: $userData.BPrice)
               .keyboardType(.decimalPad)
         }
         VStack{
              TextField("Rent", text: $userData.Rent)
               .keyboardType(.decimalPad)
          }
    }

// 用户数据文件:

class UserData : ObservableObject {

  private static let userDefaultBPrice = "BPrice"
  private static let userDefaultRent = "Rent"


  @Published var BuyingPrice = UserDefaults.standard.string(forKey: UserData.userDefaultBPrice) ?? "" 
  {
    didSet {
      UserDefaults.standard.set(self.BPrice, forKey: UserData.userDefaultBPrice)
    }
  }

  @Published var Rent = UserDefaults.standard.string(forKey: UserData.userDefaultRent) ?? "" {
    didSet {
      UserDefaults.standard.set(self.Rent, forKey: UserData.userDefaultRent)
    }
  }
  private var canc: AnyCancellable!

}

显示荒谬的高值的屏幕截图

谢谢

4

0 回答 0