¿Redondear doble en dos decimales en C#?
Quiero redondear el valor doble en dos decimales en c# ¿cómo puedo hacer eso?
double inputValue = 48.485;
Después de redondear
inputValue = 48.49;
Relacionado: c # - Cómo redondeo un valor decimal a 2 lugares decimales (para la salida en una página)
6 answers
Esto funciona:
inputValue = Math.Round(inputValue, 2);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-04 03:47:55
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-01 17:54:42
Debe usar
inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Math.Round redondea un valor de punto flotante de doble precisión a un número especificado de dígitos fraccionarios.
Especifica cómo los métodos matemáticos de redondeo deben procesar un número eso está a medio camino entre dos números.
Básicamente la función anterior tomará su valor de entrada y lo redondeará a 2 (o el número que especifique) decimales. Con MidpointRounding.AwayFromZero
cuando un número está a medio camino entre otros dos, se redondea hacia el número más cercano que está lejos de cero. También hay otra opción que puede usar que redondea hacia el número par más cercano.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-28 20:28:40
value = Math.Round(48.485, 2);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-01 17:52:38
Otra forma fácil es usar toString con un parámetro. Ejemplo:
float d = 54.9700F;
string s = d.ToString("N2");
Console.WriteLine(s);
Resultado:
54.97
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-15 22:09:46
Puedes probar uno desde abajo.hay muchas maneras para esto.
1.
value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
inputvalue=Math.Round(123.4567, 2) //"123.46"
3.
String.Format("{0:0.00}", 123.4567); // "123.46"
4.
string.Format("{0:F2}", 123.456789); //123.46
string.Format("{0:F3}", 123.456789); //123.457
string.Format("{0:F4}", 123.456789); //123.4568
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-17 07:41:38