Jak zaokrąglić przecinek o 2 miejsca po przecinku w celu-C


Daj mi znać, jak zaokrąglić liczbę dziesiętną do dwóch miejsc po przecinku w celu-C.
Chciałbym to zrobić.
(wszystkie liczby po zdaniu są liczbami zmiennoprzecinkowymi)
* okrągły
10.118 => 10.12
10.114 => 10.11
• obszycie
10.118 => 10.12
* płeć
10.114 => 10.11
Dziękuję za sprawdzenie mojego pytania.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli naprawdę chcesz, aby liczba była zaokrąglana, a nie tylko podczas prezentacji:
float roundToN(float num, int decimals)
{
int tenpow = 1;
for (; decimals; tenpow *= 10, decimals--);
return round(tenpow * num)/tenpow;
}

Lub zawsze do dwóch miejsc po przecinku:
float roundToTwo(float num)
{
return round(100 * num)/100;
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć poniższego kodu, aby sformatować go do dwóch miejsc po przecinku
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
formatter.setMaximumFractionDigits = 2;
formatter.setRoundingMode = NSNumberFormatterRoundUp;NSString *numberString = [formatter stringFromNumber:@(10.358)];
NSLog(@"Result %@",numberString);// Result 10.36
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

float roundedFloat = (int)(sourceFloat * 100 + 0.5)/100.0;

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się