You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asp.Net Core:如何计算税费并添加至总金额?

计算含3%税费的总金额解决方案

你尝试的代码无法正常运行,核心问题是把double类型的Tax(0.03)强制转换成Int16了——0.03转成短整型会直接被截断为0,相当于根本没加税费,而且直接用整型运算还会丢失精度。

下面是两种正确的实现方式:

方式1:直接截断小数部分(取整数位)

int Totalprice = 400000;
double Tax = .03;
int totalpriceWithTax = (int)(Totalprice * (1 + Tax));

计算逻辑:先算出1 + Tax得到1.03,乘以总价后得到412000.0,再转成int直接取整。

方式2:四舍五入到最近整数(更贴合实际税费场景)

int Totalprice = 400000;
double Tax = .03;
int totalpriceWithTax = (int)Math.Round(Totalprice * (1 + Tax));

计算逻辑:用Math.Round对浮点结果做四舍五入处理,再转成int,避免截断带来的误差(比如总价为101时,税费3.03,四舍五入后总金额为104)。

额外建议(针对货币计算)

如果涉及高精度的货币计算,建议用decimal类型替代double,避免浮点精度丢失问题:

int Totalprice = 400000;
decimal Tax = 0.03m;
int totalpriceWithTax = (int)Math.Round(Totalprice * (1 + Tax));

内容的提问来源于stack exchange,提问作者RoyalDesigner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:23:16