trailing zeros in decimal type.

How to remove trailing decimal zeros from decimal type in C# ?

-0.0000600000 => -0.00006
 0.0000000000 =>  0
Member_2_6424364Asked:
Who is Participating?
 
Chinmay PatelEnterprise ArchitectCommented:
You can do couple of options, the one I used a lot in past, was

decimal dValue = 0.000000
d.toString("G29");

Open in new window


And from this blog: http://blog.zerosharp.com/how-to-remove-the-trailing-zeros-of-precision-from-a-c-number-decimal/

You can use the following extension method:
public static class DecimalExtensions
{
    public static Decimal Normalize(this Decimal value)
    {
        return value / 1.000000000000000000000000000000000m;
    }
}

Open in new window


Regards,
Chinmay.
0
 
AndyAinscowFreelance programmer / ConsultantCommented:
Numbers don't have any trailing zeros.  Strings can do.  How are you formatting the number into a string?
1
 
Chinmay PatelEnterprise ArchitectCommented:
It seems to be the case where the number is a Decimal and the precision specifier is omitted, fixed-point notation is always used and trailing zeros are preserved.

from:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings
0
All Courses

From novice to tech pro — start learning today.