开发者

Have decimal amount, want to trim to 2 decimal places if present

Have decimal amount, want t开发者_JS百科o trim to 2 decimal places if present


Have you tried using value = Decimal.Round(value, 2)?

For example:

using System;

class Test
{    
    static void Main()
    {
        decimal d = 1234.5678m;
        Console.WriteLine("Before: {0}", d); // Prints 1234.5678
        d = decimal.Round(d, 2);
        Console.WriteLine("After: {0}", d); // Prints 1234.57
    }
}

Note that this is rounding rather than just trimming (so here it's rounded up)... what exactly do you need? Chances that the Decimal struct supports whatever you need to do. Consult MSDN for more options.


decimal.Truncate(myDecimal * 100) / 100

This would cut away everything following the first two decimal places. For rounding see Jon's answer.


If its just for display purposes, you can use:

Console.Out.WriteLine("Number is: {0:F2}", myDecimalNumber);


I use this: Math.Round(MyDecimalValue,2);


This should work (EDIT: Fixed to remove rounding):

((Int32)(value * Math.Pow(10, decimalPlaces))) / (Math.Pow(10D, decimalPlaces));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜