在C#中用SQL格式化小数

时间:2015-01-12 13:36:55

标签: c# sql-server

我在这里试图从MSSQL服务器格式化十进制值。 MSSQL中的值是这样的:0.40860000000000000000我需要在C#中使用这个值:40.86000

有谁知道如何格式化它?已经搜索过高低,但还没有找到一个有效的例子: - (

提前致谢。

2 个答案:

答案 0 :(得分:1)

为什么不格式化值?例如。如果你需要小数点后的6位数 t你就可以这样说

   Decimal d = 0.40860000000000000000M; 
   // Or
   // Double d = 0.40860000000000000000; 
   String result = (d * 100).ToString("F6", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

您可以使用Math.Round:

Decimal number = 0.40860000000000000000; // number you want to round 
int x = 6;; // number of decimal places to be rounded to

var rounded = Decimal.Round(number, x, MidpointRounding.AwayFromZero);

http://msdn.microsoft.com/en-us/library/System.Math.Round(v=vs.110).aspx

如果您只想将其显示为一定数量的小数位,则可以使用.ToString()

http://msdn.microsoft.com/en-us/library/fzeeb5cd.aspx