Я пишу приложение в swift
и воспользовался приведенным ниже кодом. Таким образом, мой результат округляется до двух знаков после запятой, как и ожидалось.Как показать 2 десятичных знака независимо от числа цифр после десятичного в быстром?
Это хорошо работает. Однако, если результат меньше 2 десятичных знаков, он показывает только 1 цифру. Это самый базовый пример, но у меня есть результаты, которые могут быть целым числом или 10 десятичными знаками. Я хочу, чтобы все, чтобы показать, как .xx
1.2345 => 1.23
1.1 => 1.1
Как получить результаты, чтобы всегда отображать два знака после запятой, независимо от количества цифр после запятой?
например: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» на самом деле не является валютой и поэтому разрешает округление и десятичные знаки.
Как изменить приведенное выше, чтобы он мог учитывать поля с и/или без валюты. Надеюсь, не повторив код снова?
Еще раз спасибо за все быстрые ответы.
Frank
Создайте ne w formatter для каждого поля. Вам не нужно копировать, просто создавать функции для общих вещей. – Sulthan