Při práci s čísly v programování je často nutné zobrazovat výsledky s určitým počtem desetinných míst. Například pro finanční výpočty nebo vědecké výpočty. V jazyce C " a při formátování čísel existuje několik způsobů, jak určit počet znaků za desetinnou čárkou.
Jedním z nejoblíbenějších způsobů je použití funkce round (), která zaokrouhluje číslo na uvedený počet desetinných míst. Pokud je například nutné zaokrouhlit číslo na dvě značky, lze použít následující kód: round (číslo, 2). V důsledku toho bude číslo zaokrouhleno na dvě desetinná místa.
Metoda printf:
float number = 3.14159;
printf ("číslo:%.2f ", number);
Funkce sprintf:
Dalším způsobem je použití funkce sprintf (), která umožňuje uložit naformátovaný řetězec do pole znaků. Například:
float number = 3.14159;
sprintf(buffer, "%.2f", number);
printf ("číslo: %s", buffer);
Zaokrouhlení:
float number = 3.14159;
float rounded = roundf(number * 100) / 100;
printf ("zaokrouhlené číslo:%.2f ", rounded);
Zaokrouhlené číslo: 3.14
Funkce floor:
float number = 3.14159;
float floored = floorf(number * 100) / 100;
printf ("číslo s floor:%.2f ", floored);
Číslo s floor: 3.14
Funkce ceil:
float number = 3.14159;
float ceiled = ceilf(number * 100) / 100;
printf ("číslo s ceil:%.2f ", ceiled);
Číslo s ceil: 3.15
Poznámka: při používání funkcí floor() a ceil() je nutné připojit hlavičkový soubor math.h.
Použití funkce printf()
#include int main()
Výsledek plnění programu bude:
Число с двумя знаками после точки: 3.14
Použití specifikátoru formátu %.2f
Pokud máte například číslo s plovoucím bodem 3.14159 a chcete jej zobrazit se dvěma znaky za desetinnou čárkou, můžete použít následující kód:
| Kód | |
|---|---|
| printf("%.2f", 3.14159); | 3.14 |
V důsledku spuštění tohoto kódu bude na obrazovku zobrazeno číslo 3.14.
Použití funkce round()
Funkce round () v programovacím jazyce C je navržena tak, aby zaokrouhlila číslo s plovoucím bodem na daný počet desetinných míst. Její syntaxe je následující:
- double round (double x) - zaokrouhluje číslo na nejbližší celou hodnotu.
- double rounddf (float x) - zaokrouhluje číslo s plovoucím bodem na nejbližší celou hodnotu.
#include #include int main()
V důsledku provádění programu bude vyvedeno číslo 3.14.
Použití funkce round() tedy umožňuje pohodlné a přesné zaokrouhlení čísel s plovoucím bodem na daný počet desetinných míst.
Pro formátování hodnoty reálného čísla se používá speciální formátový symbol %f . Chcete-li určit počet desetinných míst, musíte přidat bod a číslo, například: %.2f-dva znaky po bodu.
| #include |
| int main() |
| double number = 3.14159; |
| printf ("reálné číslo:%.2f ", number); |
| return 0; |
| > |
V tomto příkladu bude vyvedena hodnota čísla 3.14 se dvěma znaky za desetinnou čárkou. Pokud je třeba odstranit více nebo méně znaků, stačí zadat příslušné číslo za bodem.
Použití funkce setprecision()
Příklad použití funkce setprecision() je následující:
#include #include int main()
Použití datového typu fixed
#include int main()
Výsledkem práce programu bude číslo 3.14 .