2011-12-14 51 views
0

我有一个方法,需要2个数字。第一个数字是我想要设置的值(或格式),第二个数字是要使用的精度。格式变量时如何格式化Double?

public double ReduceNumber(double Test, int Precision) 
{ 
} 

比方说,我在传递的参数125.60238674。我希望返回值为125.6023。我知道如何在VB中使用FormatNumber()函数,但现在我试图转换为C#我画了一个空白。所有我可以在网上找到的是String.Format()这有助于我的工作,但我不知道如何编写一个可以定期更改的格式。

+1

您是否需要一个`字符串`或'双`返回? – Oded 2011-12-14 21:08:35

回答

4

甲格式的字符串:

public string ReduceNumber(double Test, int Precision) 
{ 
    return Test.ToString(string.Format("F{0}", Precision)); 
} 

这是通过使用standard numeric format string “F” 与精度说明。

一个舍入的双:

public double ReduceNumber(double Test, int Precision) 
{ 
    return Math.Round(Test, Percision); 
} 

一个点大约风格 - 参数名称通常pascalCase在C#。

0

这里的东西,你可以尝试这是一个简单的方法,我写的,增加了“”到号码,如10000这将返回10,000 也仰望使用的String.format {‘0:d’}例如 这是只是一个想法,我也知道我没有添加精确性,但可以通过该方法以及...

public static string FormatNumberWithCommas(string inputString) 
    { 
     string tempString; 
     tempString = string.Format("{0:###.####}", Convert.ToInt32(inputString)); 
     return tempString; 
    }