que lenguaje example ejemplos dev c printf

lenguaje - Printf número variable de decimales en float



printf y scanf en dev c++ (2)

Encontré un formato interesante para imprimir cadenas de longitud fija no terminadas como esta:

char newstr[40] = {0}; sprintf(newstr,"%.*s", sizeof(mystr), mystr);

Así que creo que tal vez hay una forma bajo el comando printf para imprimir un número flotante ...

"% 8.2f"

Tener capacidad para elegir número de decimales con número entero.

Algo como esto:

sprintf(mystr, "%d %f", numberofdecimals, floatnumbervalue)

EDITAR - Solución:
(para redondear y borrar un número flotante a la precisión deseada).

int precision = 2; char kolf[16] = {0}; sprintf(kolf, "%8.*f", precision, mystruct.myfloat); float kol = atof(kolf);


También puede usar ".*" Con puntos flotantes, consulte también http://www.cplusplus.com/reference/cstdio/printf/ (se refiere a C ++, pero los especificadores de formato son similares)

.number : Para los especificadores a, A, e, E, f y F: este es el número de dígitos que se van a imprimir después del punto decimal (por defecto, es 6).

...

. * : La precisión no se especifica en la cadena de formato, sino como un argumento de valor entero adicional que precede al argumento que se debe formatear.

Por ejemplo:

float floatnumbervalue = 42.3456; int numberofdecimals = 2; printf("%.*f", numberofdecimals, floatnumbervalue);

Salida:

42.35


También puede usar el asterisco para el ancho del campo y la precisión:

printf("%*.*f/n", myFieldWidth, myPrecision, myFloatValue);

Véase, por ejemplo, esta referencia .