asp.net 去掉小数点后面多余的0,本身为0则不显示

很多时候,比如gridview内,不想显示从数据库带出的多余小数 ,比如 4.01000 ,想把它显示为 4.01

如果是 0.00000, 则显示为空白

可以建立以下方法:

    /// <summary>
    /// 去掉小数点后多余的0, 0本身显示为空,用在gridview 报表
    /// </summary>
    /// <param name="decimal">传入的数字</param>
    /// <returns>返回值</returns>
    public static string RemoveSurplusZeroBehindDecimalPoint(string sString)
    {
        if (sString.Contains("."))
        {
            sString = sString.TrimEnd('0');
            sString = sString == "0." ? "" : sString;
            sString = sString.TrimEnd('.');
        }
        return sString;
    }

调用:

建一个类比如 EBSOBC,上面函数放在这个类中,然后调用它:

当gridview 显示数据时候:

可放在 rowdatabound 事件中:

     if (e.Row.RowType == DataControlRowType.DataRow)
        {
            TableCellCollection tcl = e.Row.Cells;//获得表头元素的实例
            for (int i = 8; i <= 14; i++)
            {
                tcl[i].Text = EBSOBC.RemoveSurplusZeroBehindDecimalPoint(tcl[i].Text.Trim());
            }
        }