• 金额计算


    在工作中一般在计算商品价格的时候都是精确到分后面的数字就不在需要了

    一, 全入到分

    一般计算平台利润都是这样算 因为直接进一发 进的那一步一般都是由采购或者供出 让自己赚  

     比如1.215455 直接 进一法  结果就是 1.22  

            /// <summary>
            /// 全入到分
            /// </summary>
            /// <param name="decimal">数字</param>
            /// <returns>结果</returns>
            public static decimal AllInPenny(decimal @decimal)
            {
                return Math.Ceiling(@decimal * 100) / 100;
            }

    二, 全舍到分

    一般计算供应商货款的都是这样算 因为舍掉的部分就有自己赚了

    比如1.215455 直接把分后面的小数舍掉 结果就是1.21

            /// <summary>
            /// 全舍到分
            /// </summary>
            /// <param name="decimal">数字</param>
            /// <returns>结果</returns>
            public static decimal AllAbandonPenny(decimal @decimal)
            {
                return Math.Floor(@decimal * 100) / 100;
            }

    三 ,四舍五入(银行家算法)

    一般在计算第三方手续费是用这个

    财付通就是用这个算法

            /// <summary>
            /// 四舍五入到分(银行家算法)
            /// </summary>
            /// <param name="decimal">数字</param>
            /// <returns>结果</returns>
            public static decimal Rounding(decimal @decimal)
            {
                return Math.Round(@decimal, 2);
            }

    四,四舍五入(中国式)

    一般在计算第三方手续费是用这个

    支付宝就是用这个算法

            /// <summary>
            /// 四舍五入到分(中国式四舍五入)
            /// </summary>
            /// <param name="decimal">数字</param>
            /// <returns>结果</returns>
            public static decimal RoundingCn(decimal @decimal)
            {
                return Math.Round(@decimal, 2, MidpointRounding.AwayFromZero);
            }

    我对这个银行家算法还是不太清楚 如果想要了解的更清楚请自行百度

  • 相关阅读:
    OI中的小智慧
    洛谷 P2335 SDOI 2005 毒瘤 位图(也补上注释了)
    洛谷P4779 Dijkstra 模板
    洛谷 P1156 垃圾陷阱 谈论剪枝,非满分
    8/14考试 JWG
    一个好消息 JWG
    刷水题(一) JWG
    C语言运算符优先级从没像现在这样深刻体会
    cron 备忘
    CentOS
  • 原文地址:https://www.cnblogs.com/liuxiaoji/p/4922699.html
Copyright © 2020-2023  润新知