Hogyan kell a printf-be írni a formázást, ha azt szeretném, hogy max 2 tizedesjegyet írjon ki egy lebegőpontosból, de ha lehet, akkor kevesebbet, azaz fölösleges nullákat ne?
Figyelt kérdés
%.2f ugye nem jó, mert az nem max, hanem fix2015. jún. 28. 18:03
1/1 anonim válasza:
Valahogy így:
#include <stdio.h>
#include <math.h>
double roundto(double num, int prec) {
return floor((num * pow(10, prec)) + 0.5) / pow(10, prec);
}
int main() {
double a = 1.100000, b = 10.666666;
printf("%g, %g", roundto(a, 2), roundto(b, 2));
return 0;
}
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!