我正在编写一个应用程序swift
并使用了下面的代码。所以我的输出如预期的那样四舍五入到小数点后两位。如何显示2位小数,而不管小数点后的位数是多少?
这很好。但是,如果结果小于2位小数位,它只显示1位数字。这是最基本的例子,但我的结果可能是整数或10位小数。我希望它们都显示为.xx
1.2345 => 1.23
1.1 => 1.1
我如何得到的结果总是显示小数点后2位,无论小数点后的位数的?
E.g: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)
它允许作为它的舍入和小数,我同时还包括货币作为奖金我失去了很多的代码。
Thile这适用于我实际上需要显示货币的所有字段,上面的值'oddsLabel.text'实际上并不是货币,因此只解决了舍入和小数位。
如何修改上述内容,以便可以考虑带有和/或不含货币的字段。希望没有再次复制代码?
再次感谢您的所有快速回复。
弗兰克
创建一个ne w格式化程序实例为每个字段。您不必复制,只需为普通事物创建函数即可。 – Sulthan 2015-04-01 21:30:48