как получить цифры после десятичной точки из числа поплавка в Objective Cзнаков после запятой
ответ
ОК, это C-стиль, но я думаю, этот процесс будет таким же.
int decimals = (number -((int)number));
while(decimals > 0.0)
{
reportNextNumber((int)(decimals*10));
decimals = (number -((int)number));
}
What's reportNextNumber()? Мой друг Google, похоже, тоже не знает. – curtisdf
Будет ли это действительно работать из-за проблем с плавающей точкой? Если вы берете десятичный остаток от поплавка, в конце 'десятичных знаков 'вы могли бы получить нулевую цифровую цифру, отличную от нуля, которая действительно испортит этот расчет. Нет? – curtisdf
этот код работает
CGFloat x = 2.43;
// CGFloat x = 3.145;
// CGFloat x = 2.0003;
// CGFloat x = 1.0;
// CGFloat x = 3.1415926535;
NSLog(@"%f -> %@", x, @([self numberOfFractionDigits:x]));
- (NSString *)numberOfFractionDigits:(CGFloat)number {
CGFloat fractionalPart = number - (NSInteger)number;
NSMutableString *r = [NSMutableString stringWithString:@""];
while (fractionalPart) {
[r appendFormat:@"%@", @((NSUInteger)(fractionalPart * 10 + .5))];
number *= 10;
fractionalPart = number - (NSInteger)number;
}
return r;
}
выход:
2,430000 -> 43
3,145000 -> 145
2,000300 -> 0003
1,000000 ->
3.141593 -> 1415926535 // для x = 3.1415926535;
- 1. Закрепление количества знаков после запятой
- 2. Clojure округления знаков после запятой
- 3. Управление количеством знаков после запятой
- 4. Полное число знаков после запятой
- 5. Python поплавка знаков после запятой
- 6. NSNumberFormatter PercentStyle знаков после запятой
- 7. Добавление двух знаков после запятой
- 8. Фикс знаков после запятой до 5 и удалить нули после 2 знаков после запятой
- 9. Округление до 2 знаков после запятой, но сохранение 4 знаков после запятой в C#
- 10. Как округлить число с 10 десятичных знаков, только 3 знаков после запятой после запятой
- 11. Округление десятичных знаков до двух знаков после запятой в C#
- 12. Где положение и усечение знаков после запятой
- 13. Специальный стиль XAML для знаков после запятой
- 14. Усечение числа до указанных знаков после запятой
- 15. Двойной: используя фактическое число знаков после запятой
- 16. JSONObjectWithData неправильно знаков после запятой при разборе
- 17. Печать поплавок до шести знаков после запятой
- 18. Соответствие значению до 8 знаков после запятой
- 19. вывод данных до 6 знаков после запятой
- 20. Преобразовать сумму до 2 знаков после запятой
- 21. Java - двойное постоянное число знаков после запятой
- 22. Номер формата до 2 знаков после запятой
- 23. Число округлений до 2 знаков после запятой
- 24. поплавки в х знаков после запятой
- 25. Limit двойной до двух знаков после запятой
- 26. Impala округление до 10 знаков после запятой
- 27. Получить NSDecimalNumber 2 знаков после запятой
- 28. всего 6 знаков после запятой для double
- 29. Округление до двух знаков после запятой
- 30. Ограничения двойного до 3 знаков после запятой
Как плавающие карты точно не соответствуют базовым номерам 10 Я думаю, вам нужно объяснить, что вы хотите для этого (например, 1./5. Не указывать число с двумя знаками после запятой) – Mark