csharp 计算含税,税额,不含税

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 计算含税,税额,不含税相关的知识,希望对你有一定的参考价值。

    /// <summary>
    /// 税计算扩展
    /// </summary>
    /// <remarks>
    ///  税额=含税/(1+税率%)*税率%
    ///  不含税=含税-税额
    /// (不含税计算时,不可用含税/(1+税率%),应优先计算税额,保留两位小数后,拿含税-税额=不含税)
    /// 
    ///  汇总类时只能汇总 含税、不含税、税额
    ///  税率 = 税额 /(含税-税额)
    /// </remarks>
    public static class TaxExtensions
    {
        /// <summary>
        /// 税额= 含税/(1+税率%)*税率%
        /// </summary>
        /// <param name="amount">含税</param>
        /// <param name="taxRatio">税率</param>
        /// <returns></returns>
        public static decimal CalcTaxAmount(this decimal amount, decimal taxRatio)
        {
            return Math.Round(amount / (1 + taxRatio / 100) * (taxRatio / 100), 2);
        }

        /// <summary>
        /// 计算税率
        /// </summary>
        /// <param name="amount">含税</param>
        /// <param name="taxAmount">税额</param>
        /// <returns></returns>
        public static decimal CalcTaxRatio(this decimal amount, decimal taxAmount)
        {
            var amountNoTax = amount - taxAmount;
            return amountNoTax == 0 ? 0 : Math.Round(taxAmount * 100 / amountNoTax, 2);
        }

        /// <summary>
        /// 计算不含税
        /// </summary>
        /// <param name="amount">含税</param>
        /// <param name="taxAmount">税额</param>
        /// <returns></returns>
        public static decimal CalcAmountNoTax(this decimal amount, decimal taxAmount)
        {
            return Math.Round(amount - taxAmount, 2);
        }
    }

以上是关于csharp 计算含税,税额,不含税的主要内容,如果未能解决你的问题,请参考以下文章

税额的计算

销项税和进项税的算法!含税与不含税

根据上述资料分别计算4月、5月、6月应纳增值税税额。

Woocommerce 以不同颜色和两条线显示含税和不含税价格

如何在 Prestashop 的产品列表中一次显示含税和不含税的产品价格?

2. node xlsx的使用