数字格式化。请问下这个如何格式化。

2020-11-20 14:59发布

0.1200 格式化后0.12

5.6000格式化后5.6

3.0000格式化后3

0.0000格式化后0

总的来说就是去掉后多余的小数0

10条回答
2楼-- · 2020-11-20 15:34

new BigDecimal("0.1200").stripTrailingZeros().toPlainString()

查看更多
\"骚年 ilove
3楼-- · 2020-11-20 15:34

结果是什么类型?string类型就用tostring啊,你想有的是int有的是double???

查看更多
欢心
4楼-- · 2020-11-20 15:35

ToString()即可

查看更多
贪生不怕死
5楼-- · 2020-11-20 15:45

如果是数字格式的数据,正常情况下,你啥事都不做,就是你想要的效果。
只有你做了什么以后,才会出现其他效果。

查看更多
乱世女痞
6楼-- · 2020-11-20 15:47

取最后一位判断是不是0就可以了啊

查看更多
干净又极端
7楼-- · 2020-11-20 15:48

楼主可以试一下这个方法,先获取小数点后的位数,然后再根据位数处理格式化的格式,再使用ToString格式化就好啦,望采纳哦

public static decimal FormatDecimal(decimal d)
{
string aa = d.ToString();
int len = aa.Length - aa.IndexOf(".") - 1;

        string dig = "#0.";
        int i = 0;
        do
        {
            dig += "#";
            i++;
        }
        while (i <= len);
        return Convert.ToDecimal(d.ToString(dig));
    }
查看更多
登录 后发表回答