how to cut off the decimal?

N

nick

printf("%lf",3.25);

the result is 3.25000

i want the answer correct to 3 decimal places

What should i do?


thanks!
 
E

Eberhard Funck

nick said:
printf("%lf",3.25);
the result is 3.25000
i want the answer correct to 3 decimal places
What should i do?


thanks!

use: .n after % and bevour f
n decimal places.

printf("%.3lf", 3,25);
^^
the result is 3.250;
 
E

Eberhard Funck

Michael said:
I guess you thought of
printf("%.3lf", 3.25); ^
otherwise the result is 3.000

regards
Michael

Hello Michael,

Thanks for the hint.
It was my mistake with "," instead of ".".

Thanks.
 
E

Eberhard Funck

Michael" said:
Eberhard said:
printf("%.3lf", 3,25);
[...] the result is 3.000

Hi Eberhard,
well I'm not sure if I am right with the above
statement, since the types do not match (int vs double).
Is this converted during compiling or pure luck if 3.000
is shown?
Any hints?

Thanks,
Michael

Hi Michael,

I think it's pure luck.
My lcc compiler makes this warning, if I write 3,25 instead 3.25:
"Warning printf argument mismatch for format f. Expected double got int"
The result is 0.000

Eberhard
 
M

Martin Ambuhl

nick said:
printf("%lf",3.25);

the result is 3.25000

i want the answer correct to 3 decimal places

What should i do?

Short answer: open an elementary C textbook.
Spoon-fed longer answer:

#include <stdio.h>

void show(double x)
{
/* note that the specifier is %f or %g, not %lf or %lg */
printf("total precision of 3 decimal places:\n %.3g\n", x);
printf("3 decimal places to right of decimal:\n %.3f\n\n", x);
}

int main(void)
{
show(3.25);
show(325);
show(.325);
show(3.2574);
show(3.2547);
return 0;
}


total precision of 3 decimal places:
3.25
3 decimal places to right of decimal:
3.250

total precision of 3 decimal places:
325
3 decimal places to right of decimal:
325.000

total precision of 3 decimal places:
0.325
3 decimal places to right of decimal:
0.325

total precision of 3 decimal places:
3.26
3 decimal places to right of decimal:
3.257

total precision of 3 decimal places:
3.25
3 decimal places to right of decimal:
3.255
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top