Module: VARIABLES. FORMATOS DE SALIDA


Problem

5/5

Precisión de salida

Theory Click to read/hide

Especificadores de salida
Para generar valores reales, simplemente llame al método Console.WriteConsole.WriteLine:
  doble a = 0,9999; Consola.Escribir(a);  
Pero a veces es necesario formatear previamente la salida de valores, es conveniente hacerlo usando el método String.Format, más detalles aquí.
Salida con cierta precisión
Para formatear números fraccionarios, se usa el especificador f, el número después del cual indica cuántos caracteres habrá después del separador. doble a = 12.123; Console.WriteLine(String.Format("{0:f2}", a)); El resultado será 12,12, pero si utiliza el valor 0,9999, se producirá un redondeo descontrolado y   1,00.

Por lo tanto, se utiliza el siguiente algoritmo para descartar signos en lugar de redondear:
1) multiplica el valor original por 10, tantas veces como necesites dejando decimales;
2) usando el método   Math.Truncate, dejamos solo la parte entera;
3) divide el valor resultante entre 10, tantas veces como necesites dejando decimales.

Ejemplo de salida con precisión de dos decimales: 
doble a = 0,9999; a = a * Math.Pow(10, 2); a = Matemáticas.Truncar(a); a = a / Math.Pow(10, 2);
 
El tipo de separador al generar el resultado (punto o coma) depende de la configuración regional de la computadora, por lo que para usar siempre un punto como separador, debe cambiar la configuración regional a invariante, ejemplo resultante:
 
CultureInfo ci = new CultureInfo(""); doble a = 0,9999; a = a * Math.Pow(10, 2); a = Matemáticas.Truncar(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));

Problem

Escriba un programa que imprima el valor de una variable con 2 decimales.