如题,假如币种为人民币,其最小单位为0.01 那么金额就得保留小数点后两位,如果有货币的的最小单位为100,如果金额为90那么保存时就得保存为100,如果金额为49保存的时候就为0.
不管用C#还是SQL能实现都可以。。c#sql货币四舍五入

解决方案 »

  1.   

    就这两个条件,如果是,就搞两个if条件判断,定义一个单位,如果是小数,就直接ToString("0.00"),如果是100,就以50为界判断,如果条件多,可以写个模式(比如策略模式)
      

  2.   

    不是这样的呀,是有配置界面的,如果是人民币我读出的值是0.01,要根据0.01来判断保留小数位的,还有可能为0.25,用这个ToString("0.00")是无法实现的。
      

  3.   

    decimal d = 49m;
    decimal unit = 100m; //最小单位
    decimal r = Math.Round(d / unit, MidpointRounding.AwayFromZero) * unit;
    Response.Write(r);