2011-08-04 21 views

Respuesta

21

Utilice los diversos patrones String.Format().

Por ejemplo:

int someNumber = 20; 
string strNumber = someNumber.ToString("N2"); 

produciría 20.00. (2 decimales porque se especificó N2).

Standard Numeric Format Strings proporciona mucha información sobre las diversas cadenas de formato para números, junto con algunos ejemplos.

+0

Como alternativa, utilice 'decimalVar .ToString ("#. ##"); 'como se recomienda [aquí] (http://stackoverflow.com/questions/164926/c-sharp-how-do-i-round-a-decimal-value-to- 2 decimales lugares para salida en un pa). – meepzh

+0

@meepzh - Esa es una alternativa válida, pero vale la pena señalar algunas de las advertencias en los comentarios. – Tim

3

Se podría hacer un método de extensión de esta manera:

using System; 

namespace toFixedExample 
{ 
    public static class MyExtensionMethods 
    { 
     public static string toFixed(this double number, uint decimals) 
     { 
      return number.ToString("N" + decimals); 
     } 
    } 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      double d = 465.974; 
      var a = d.toFixed(2); 
      var b = d.toFixed(4); 
      var c = d.toFixed(10); 
     } 
    } 
} 

resultará en: un: "465.97", b: "465.9740", c: "465,9740000000"