Remove trailing zeros

后端 未结 18 1223
天命终不由人
天命终不由人 2020-11-22 11:26

I have some fields returned by a collection as

2.4200
2.0044
2.0000

I want results like

2.42
2.0044
2

I t

18条回答
  •  日久生厌
    2020-11-22 11:51

    I use this code to avoid "G29" scientific notation:

    public static string DecimalToString(this decimal dec)
    {
        string strdec = dec.ToString(CultureInfo.InvariantCulture);
        return strdec.Contains(".") ? strdec.TrimEnd('0').TrimEnd('.') : strdec;
    }
    

    EDIT: using system CultureInfo.NumberFormat.NumberDecimalSeparator :

    public static string DecimalToString(this decimal dec)
    {
        string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
        string strdec = dec.ToString(CultureInfo.CurrentCulture);
        return strdec.Contains(sep) ? strdec.TrimEnd('0').TrimEnd(sep.ToCharArray()) : strdec;
    }
    

提交回复
热议问题