Sarah Dawkins
Sarah Dawkins

Reputation: 101

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

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

Upvotes: 8

Views: 34230

Answers (1)

Derrick Zhang
Derrick Zhang

Reputation: 21501

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.

Upvotes: 11

Related Questions