您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



两种方法去掉小数最后的0
狼子 发表于 2008-4-2 16:11:00 阅读全文 | 回复(0) | 引用通告 | 编辑

两种方法,第一种是自己写的,用了循环,从最后一位开始取,一直取到不是0那一位

    private decimal GetRidZero(decimal d)
    {
        if (d == 0)
        {
            return 0;
        }
        string s;
        int dotIndex = 0;
        s = d.ToString();
        dotIndex = s.IndexOf('.');
        if (dotIndex == -1)
        {
            return d;
        }
        int sLen;
        sLen = s.Length - 1;
        while (s[sLen].Equals('0'))
        {
            s = s.Substring(0, sLen);
            sLen = s.Length - 1;
        }
        return Convert.ToDecimal(s);
    }

调用的时候这样子:

        Response.Write("<br>" + GetRidZero(121.20300000M));
        Response.Write("<br>" + GetRidZero(114M));
        Response.Write("<br>" + GetRidZero(12.231500000M));
        Response.Write("<br>" + GetRidZero(109.09M));
        Response.Write("<br>" + GetRidZero(0M));
        Response.Write("<br>" + GetRidZero(1M));
        Response.Write("<br>" + GetRidZero(10M));

第二种方法呢,是用TrimEnd方法,用第二个重载,去掉指定的字符:

Response.Write(d.ToString().TrimEnd('0'));

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.