gpt4 book ai didi

string - 如何从swift中删除字符串中的减号

转载 作者:搜寻专家 更新时间:2023-11-01 06:21:03 24 4
gpt4 key购买 nike

我有一个应用程序可以计算两个日期之间的差异。如果用户输入的开始日期晚于结束日期,则结果为负数。这可以。但是,我的应用生成的字符串包含两个减号。我想去掉第二个减号,这样就不会说“-17 周 + - 4 天”,而是说“-17 周 + 4 天”。

enter image description here

我需要从结果中删除第二个减号。我知道这是通过字符串操作实现的,但我不知 Prop 体怎么做。在执行字符串操作之前,我需要先检查输出的字符串是否为负值。如果有人能指出正确的方向,我将不胜感激。

我需要执行此字符串操作以删除第二个减号的方法如下:

@IBAction func calculateWeeksAndDays(sender: UIButton) {

if startDateTextField.text == "" || endDateTextField == "" {

let alert2 = UIAlertController(title: "Oops!", message: "Please Select an End Date!", preferredStyle: UIAlertControllerStyle.Alert)
alert2.addAction(UIAlertAction(title: "Close", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert2, animated: true, completion: nil)
}
else {

let start = String(startDateTextField.text!)
let end = String(endDateTextField.text!)
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"



guard let startDate = dateFormatter.dateFromString(start), endDate = dateFormatter.dateFromString(end) else {

return
}


let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Day], fromDate: startDate, toDate: endDate, options: [])
let days = components.day
let weeks = components.day / 7
let weeksanddays = days % 7
let newString = "\(weeks) weeks + \(weeksanddays) days"
resultWeeksAndDays.text = newString
}

最佳答案

你可以使用abs(),它返回绝对值,这对string很有用。

let newString = "\(weeks) weeks + \(abs(weeksanddays)) days"

检查是否有负数:

if weeks < 0 {
// do stuffs
}

关于string - 如何从swift中删除字符串中的减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34101131/

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