цифры после десятичной точки - PullRequest
2 голосов
/ 28 июля 2010

как получить цифры после десятичной точки из числа с плавающей точкой в ​​цели c

Ответы [ 2 ]

1 голос
/ 28 июля 2010

ОК, это стиль C, но я думаю, что процесс будет таким же.

int decimals = (number -((int)number) );

while( decimals > 0.0 )
{
    reportNextNumber( (int)(decimals*10) );
    decimals = (number -((int)number) );
}
0 голосов
/ 14 ноября 2017

этот код работает

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;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...