代码之家  ›  专栏  ›  技术社区  ›  Bruno

显示小数点的两种方法

  •  2
  • Bruno  · 技术社区  · 14 年前

    假设我有一个小数列表:

    List<decimal> values;
    

    和2函数显示小数点:

    string DisplayPct(decimal pct)
    {
       return pct.ToString("0.00 %");
    }
    
    string DisplayValue(decimal val)
    {
       return val.ToString("0.00");
    }
    

    例如,我希望使用C#中的typedef。这样,我就可以声明一个类型Percent和一个类型Decimal,这两个类型都表示十进制值,但是这样我就可以知道如何根据其类型显示值。

    C#中的任何等价物?

    谢谢

    3 回复  |  直到 14 年前
        1
  •  2
  •   Jonn    14 年前

    类中的换行百分比。你的一点工作。一定要确定 implicit operator 捕获小数,以及其他一些操作和字符串。

        2
  •  3
  •   Bruno    14 年前

        public class Percent
        {
            public decimal value;
            public Percent(decimal d) { value = d; }
            public static implicit operator Percent(decimal d) { return new Percent(d); }
            public static implicit operator decimal(Percent p) { return p.value; }
        }
        public class DecimalPrecise
        {
            public decimal value;
            public DecimalPrecise(decimal d) { value = d; }
            public static implicit operator DecimalPrecise(decimal d) { return new DecimalPrecise(d); }
            public static implicit operator decimal(DecimalPrecise d) { return d.value; }
        }
    
        3
  •  2
  •   JoshD    14 年前

    听起来你想要两个类:小数和百分数。每个都有一个适当打印的ToString。如果两者具有相同的接口,则可以使用该公共接口在列表中拥有两者的集合。