У меня есть значение с плавающей запятой, которое я хотел бы показать в формате строки и, если оно соответствует целому числу, с отображением целого числа, если нет, с одним десятичным знаком.
Как это:
3.1
3
2.9
2.8
Пока я застрял в концепции, я бы сделал что-то вроде этого:
float myFloat = 3.1
float mySecondFloat = 3
[NSString stringWithFormat:@"%g %g", myFloat, mySecondFloat];
Мой вопрос:
1 / формат типа "% g" работает в большинстве случаев, но иногда я получаю результат, показанный как "0.600001", в то время как в действительности должно быть 0,6, потому что все, что я делаю, это 0,7 - 0,1.
Существует ли тип приведения типа float с 1 десятичным знаком или, возможно, побитовая операция, чтобы избавиться от окончательной неточности, или другой способ заставить его работать в 100% случаев?
Спасибо за ваши ответы.