gpt4 book ai didi

swift - 无论 swift 中小数点后的位数如何,如何显示 2 个小数位?

转载 作者:搜寻专家 更新时间:2023-10-30 22:01:24 25 4
gpt4 key购买 nike

我正在用 swift 编写应用程序并使用了以下代码。所以我的输出按预期四舍五入到小数点后两位。

这很好用。但是,如果结果小于 2 位小数,则它只显示 1 位数字。这是最基本的示例,但我得到的结果可能是整数,也可能是小数点后 10 位。我希望它们都显示为 .xx

1.2345 => 1.23

1.1 => 1.1

无论小数点后有多少位数,如何使结果始终显示 2 位小数?

例如: 1.1 => 1.10

我进行了广泛的搜索,但找不到答案。这是我到目前为止尝试过的代码:

@IBOutlet var odds: UITextField!
@IBOutlet var oddsLabel: UILabel!
var enteredOdds = NSString(string: odds.text).doubleValue
var numberOfPlaces = 2.0
var multiplier = pow(10.0, numberOfPlaces)
var enteredOddsRounded = round(enteredOdds * multiplier) / multiplier
oddsLabel.text = "\(enteredOddsRounded)"
println("\(enteredOddsRounded)")

感谢您的评论。我修改如下:

@IBOutlet var odds: UITextField!
@IBOutlet var oddsLabel: UILabel!
var enteredOdds = NSString(string: odds.text).doubleValue

let formatter = NSNumberFormatter()
formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle

for identifier in ["en_UK", "eu_US"] {
formatter.locale = NSLocale(localeIdentifier: identifier)
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 2
}

oddsLabel.text = formatter.stringFromNumber(enteredOdds)

它让我少了很多代码,因为它为我做了四舍五入和小数位,同时还包括货币作为奖励。

虽然这对我确实需要显示货币的所有字段都有效,但上面的值“oddsLabel.text”实际上不是货币,因此只解决了舍入和小数位问题。

我如何修改以上内容,以便它可以考虑有和/或没有货币的字段。希望无需再次重新复制代码?

再次感谢所有快速回复。

弗兰克

最佳答案

let b = 2.1
println(String(format:"%.02f", b))

在我的 Playground 上给出字符串“2.10”。

关于swift - 无论 swift 中小数点后的位数如何,如何显示 2 个小数位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29395289/

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