Добавить нулевую цифру к номеру с помощью NumberFormatter - PullRequest
0 голосов
/ 02 марта 2019

У меня есть строка

let str = "2.1"

Я хочу привести ее к двойному типу и всегда иметь 2 цифры после разделителя следующим образом:

let double = 2.10 

Итак, что я делаю:

let formatter = NumberFormatter()
formatter.decimalSeparator = "."
formatter.minimumFractionDigits = 2

let myDoubleValue = formatter.number(from: str)?.doubleValue

И на выходе все еще только цифра 1: 2.1

почему?

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Вы не можете иметь двойное число с конечными 0, оно будет усечено.

Если вы просто отображаете значение, сохраняйте его как строку.Если вы выполняете вычисления, какая разница из-за нуля?

0 голосов
/ 02 марта 2019

Возможно, вы имеете в виду:

let str = "2.1"
if let double = Double(str) as? NSNumber {
    let formatter = NumberFormatter()
    formatter.decimalSeparator = "."
    formatter.minimumFractionDigits = 2
    if let myNewStringValue = formatter.string(from: double) {
        print(myNewStringValue) // 2.10
    }
}
...