Red de conocimientos turísticos - Información de alquiler - ¿Cómo escribir código que conserve tres decimales?

¿Cómo escribir código que conserve tres decimales?

En la programación en lenguaje C, siempre es necesario procesar números de punto flotante. A veces, solo necesitamos mantener 2 decimales como resultado de salida. En este momento llega el problema. ¿Cómo puedo hacer que cout genere un número específico de decimales y retener el número de decimales?

En programación en lenguaje C, podemos implementarlo así:

[cpp]? ¿Mirando la llanura? Copiar

printf("%.2f ", muestra);

En C++, no hay caracteres de formato. Podemos lograr este requisito utilizando la función setprecision().

Para utilizar la función setprecision(), el archivo de encabezado debe incluirse #include

[cpp]? ¿Mirando la llanura? ¿Copiar

cout? <<? "a=?& lt& lt?Establecer precisión (2)?& lt& lt?Answer?& lt& ltendl

En este momento encontraremos que si el valor de a es 0.20001, entonces el resultado de salida es a= 0.2, el segundo 0 se omite.

Si queremos que complete 0 automáticamente, debemos definirlo antes de cout. El código es el siguiente:

【cpp. 】?

cout .setf(IOs::fijo);

cout? & lt& lt? & lt& ltFijo& lt& lt? ¿Establecer precisión (2)? <<? ¿respuesta? <<endl? //Salida a=0.20

Entonces, podemos obtener 0.20. Por supuesto, si desea desactivar la compensación 0, sólo necesita desarmar fijo.

[cpp]? ¿Mirando la llanura? Copiar

cout . unsetf(IOs::fixed);

cout? <<? "a=?& lt& lt?Establecer precisión (2)?& lt& lt?Answer?& lt& ltendl?//Salida a=0.2

Nuestra salida volverá a cambiar a a=0.2. Código de referencia

[cpp]? Copiar

#Contiene? & ltiomanip & gt

uso std

main()

flotar? =?0.20001;

cout.setf(IOs::fixed);

cout? & lt& ltFijo& lt& lt? ¿Establecer precisión (2)? <<? ¿respuesta? <<endl? //El resultado de salida es a=0.20.

cout . unsetf(IOs::fijo);

cout? <<? "a=?& lt& lt?Establecer precisión (2)?& lt& lt?Answer?& lt& ltendl?//El resultado de salida es a=0.2.

¿Regresión? 0;

}