Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I limit the number of digits displayed by printf after the decimal point?

Tags:

c

decimal

I wrote a small program that reads two integers using scanf and then performs various arithmetic calculations. I'm using printf to display the results. How can I make printf display only two digits after the decimal point? Starting with the simplified code sample:

#include <stdio.h>

int main(void)
{
    double third = 1.0 / 3.0;

    // display data  
    printf("\n%20s%20s", "Description", "Data");
    printf("\n%20s%20s", "-----------", "----");
    printf("\n%20s%20lf", "One third", third);
    printf("\n");
    return 0;
}

This prints "0.333333" for the value of third. How would I alter the above to get the following output?

         Description                Data
         -----------                ----
           One third                0.33
like image 411
Sarah Dawkins Avatar asked Sep 15 '11 01:09

Sarah Dawkins


1 Answers

use "%.2f" at the place you want.

For example, modify the following statement

printf("\n%20s%20lf", "Fraction", quotientdecimal);

into this one :

printf("\n%20s%.2f", "Fraction", quotientdecimal);

will only display two fraction numbers of the variable quotlentdecimal.

like image 126
Derrick Zhang Avatar answered Oct 19 '22 20:10

Derrick Zhang