 GeeksforGeeks App
Open App Browser
Continue

# Setting decimal precision in C

How to print floating point numbers with a specified precision? Rounding is not required. For example, 5.48958123 should be printed as 5.4895 if given precision is 4.

For example, below program sets the precision for 4 digits after the decimal point:

 `// C program to set precision in floating point numbers``#include``#include``int` `main()``{``   ``float` `num = 5.48958123;`` ` `   ``// 4 digits after the decimal point``   ``num = ``floor``(10000*num)/10000;`` ` `   ``printf``(``"%f"``, num);``   ``return` `0;``}`

Output:

`5.489500`

We can generalize above method using pow()

 `float` `newPrecision(``float` `n, ``float` `i)``{``    ``return` `floor``(``pow``(10,i)*n)/``pow``(10,i);``}`

In C, there is a format specifier in C. To print 4 digits after dot, we can use 0.4f in printf(). Below is program to demonstrate the same
.

 `// C program to set precision in floating point numbers``// using format specifier``#include`` ` `int` `main() ``{``    ``float` `num = 5.48958123;`` ` `    ``// 4 digits after the decimal point  ``    ``printf``(``"%0.4f"``, num); ``    ``return` `0;``}`

Output:

`5.4896`

This article is contributed by Niharika Khandelwal. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.