2016-07-22 2 views
2

Чтобы проверить лучший ответ, прокрутите вниз до ответа Paulw11.Показаны парные разряды в ярлыках с символом AND без десятичной точки

(я извиняюсь за любые английские ошибки, это не мой первый язык)

мне нужно решить эту проблему для того, чтобы продолжать развивать мое приложение.

Here, у меня есть скриншот. (Я знаю, это уродливо, я устанавливаю ограничения.)

Проблема в том, что даже когда число является целым числом, оно по-прежнему отображается как рациональное. (Напр .: 4 выглядит как 4.0, 16, как 16,0)

Что я хочу:

  • Когда число в текстовое поле является целым числом, я хочу, чтобы она появилась без десятичной точки. (4 отображаются как 4, 16 отображаются как 16)
  • Когда число в текстовом поле рационально, я хочу, чтобы оно отображалось с десятичной точкой, принадлежащей ему. (4.2 выглядит как 4.2, 2.5, 2.5)

То, что я не хочу, чтобы это произошло:

  • Круглый любое число. Это испортит математику. Как я сказал, 4.22 должно быть 4.22. Но 4.0 должно быть всего 4.

Буду очень благодарен за любую помощь, спасибо.

+0

Не могли бы вы разместить код, пожалуйста? – Lahav

+0

Это, вероятно, то, что вам нужно: http://stackoverflow.com/a/6813241/2687360 – Bienemann

+0

Нет, @Asdrubal, я не хочу его обходить. –

ответ

1

Вы можете просто использовать %g форматирования вариант:

deltaValueS.text = String(format:"∆ é %g",deltaValue) 
  • Для 4.0 это даст "Д е4"
  • Для 4.123 это даст "Δ é 4,123"
+0

Вау! Это лучше, чем ответ Влада. Уменьшает работу и персонажи. Очень благодарен, спасибо! –

-1

Вы хотите что-то вроде этого?

let numberA: Float = 1.234 
let numberB: Float = 7.000 

func getStringFromNumber(number: Float) -> String { 
    if number - Float(Int(number)) == 0 { 
     return String("\(Int(number))") 
    } else { 
     return String("\(number)") 
    } 
} 

print(getStringFromNumber(numberA)) // console output: 1.234 
print(getStringFromNumber(numberB)) // console output: 7 
+0

. Это сработало так хорошо! Я очень благодарен за ваш ответ, именно то, что я хотел. Спасибо! –

Смежные вопросы