gpt4 book ai didi

ios - 将 UITextField 转换为逗号分隔的数字并返回点分隔符

转载 作者:行者123 更新时间:2023-11-28 07:58:52 25 4
gpt4 key购买 nike

你好强大的 StackOverflowers,

我知道这个问题肯定不止一百次了,但作为一个初学者(Swift 4/Xcode 9),我只是在这个阶段,我完全不知道如何实现所有这些提示和我想做的事情已经发现了。

我想这个太简单了,所以这是我的神经痛:

我正在为百分比创建一个小应用程序。一切正常...只要我不触摸设置为德语的 iPhone 数字键盘上的逗号,因为计算仅适用于点分隔符。

一开始我希望将 UITextField 转换为以点分隔的整数/ float ,并给出结果我想将其转换回以逗号分隔的数字。简写:以逗号分隔输入,以点分隔计算,“打印”结果以逗号分隔。

只要电话设置为英语或(如果是德语)只有非十进制数字被添加到字段中,下面的代码就可以正常工作:

哦...还有一件重要的事情:我未能将到目前为止在这里找到的代码片段添加到我的 ViewController.swift...我只是不知道将这些行放在哪里 :(我们开始吧:

class ViewController: UIViewController {

//User Fields:

@IBOutlet weak var kind: UITextField! // kind of unit (€, $, metres...)
@IBOutlet weak var base: UITextField! //base
@IBOutlet weak var percent: UITextField! //percent (1%, 4,5% etc.)

//Result Labels:

@IBOutlet weak var percentInKind: UILabel! //the percent as value in kind
@IBOutlet weak var total: UILabel! //base minus percentInKind

//Calculation:

@IBAction func calculateTotal(_ sender: Any) {


let kindConv = String(kind.text!) //Converted to String
let baseConv = Double(base.text!) //Converted to Double
let percentConv = Double(percent.text!) //Converted to Double

let percentInKindConv = Double(baseConv! * percentConv!) / 100

percentInKind.text = String(format: "%.2f", percentInKindConv) + " \(kindConv)"
total.text = String(format: "%.2f", baseConv! - percentInKindConv) + " \(kindConv)"
}

最佳答案

0.05pm,闹钟在凌晨 5.30 响起,但我不能让这个星期天在没有弄清楚这个初学者问题的情况下结束。所以我希望这段代码——对我有用——是正确的和“干净的”。我将粘贴整个内容以显示搜索它的人。我真的很感激关于缩短或“缓和”这一点的进一步提示。所以……我们开始吧:

 //User input fields

@IBOutlet weak var kind: UITextField! //kind of unit (€, metres etc.)
@IBOutlet weak var base: UITextField! //base number
@IBOutlet weak var percent: UITextField! //percent in %

//Result labels

@IBOutlet weak var sumPercent: UILabel! //% in kind of unit
@IBOutlet weak var total: UILabel! //base - sumPercent

//Calculation

@IBAction func berechnenAbziehen(_ sender: Any) {


let kindVar = String(kind.text!)

let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.alwaysShowsDecimalSeparator = true
formatter.locale = Locale(identifier: "de_DE")
formatter.decimalSeparator = ","
formatter.maximumFractionDigits = 2
formatter.minimumFractionDigits = 2

let baseFormatter = formatter.number(from: base.text!) as! Double
let percentFormatter = formatter.number(from: percent.text!) as! Double

let percentSum = baseFormatter * percentFormatter / 100
let totalSum = baseFormatter - percentSum

sumPercent.text = formatter.string(for: percentSum)! + " \(kindVar)"
total.text = formatter.string(for: totalSum)! + " \(kindVar)"

晚安! ;-)

关于ios - 将 UITextField 转换为逗号分隔的数字并返回点分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47211894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com