Hola,
La representación de los números es solamente visual, internamente se guardan en bytes, así que internamente deben ser almacenados en el tipo que les corresponde, pero para representarlos visualmente puedes usar algo así:
Código C:
Ver original//
float f[] = {4.00f, 3.40f, 24.798f, 78.0000000001f};
int i;
for (i = 0; i < sizeof(f) / sizeof(float); i++)
printf("%.*f\n", f
[i
] - (int)f
[i
] ? 2 : 0, f
[i
]); // printf("%.*f\n", f[i] != (int)f[i] ? 2 : 0, f[i]);
Saludos,