Imprimer un nombre avec un nombre variable de décimales

Je voulais imprimer un nombre avec un nombre variable de décimales en C. J’ai écrit le code

#include main() { int a; printf("Upto which number of decimal places you want to print value of '2.554648' ?"); scanf("%d", &a); printf("Value of '2.554648 upto %d number of decimal places = %.af", a, 2.554648); return 0; } 

Utilisez * dans printf() pour indiquer le nombre de décimales que vous souhaitez:

 #include  int main(void) { int a; printf("Upto which number of decimal places you want to print value of '2.554648' ?"); scanf("%d", &a); printf("Value of '2.554648 upto %d number of decimal places = %.*f", a, a, 2.554648); return 0; } 

Vous avez besoin du spécificateur de format * . Voici un court exemple (voir in ideone ):

 #include  int main(void) { int a = 5; double temp = 5.0 / 7; printf("%.*f",a, temp); return 0; }