授信/现金资金标签分配链路 double→decimal 精度收敛
- FundTagCalc 全链路(LegAmount/LegFundPlan/UnwindTagSplit/TagRelease/MarginLegSettlement)金额类型改 decimal,消除 double 二进制误差在拆单倒挤、守恒校验中的分位尾差 - 边界处显式转换:writeCash 委托与 ClientCreditInoutService.Occupy/Release(仍 double)、GetAvailableCredit 返回值 (decimal) 强转 - SwapDealService.RecordMarginCashFlow/ReleaseMarginByFundTag 签名同步 decimal,测试桩 TestableSwapDealService 对齐 - 单测断言去掉 1e-6 容差(decimal 精确比较)
This commit is contained in:
@@ -141,10 +141,10 @@ namespace YLErp.Modules.SwapModule
|
||||
return ReleaseMarginByFundTagResult
|
||||
?? new UnwindTagSplit
|
||||
{
|
||||
CashMargin = Convert.ToDouble(marginAmount),
|
||||
CashRebate = Convert.ToDouble(marginLegs.Any()
|
||||
CashMargin = marginAmount,
|
||||
CashRebate = marginLegs.Any()
|
||||
? marginLegs.Sum(x => x.InterestClosePnL)
|
||||
: marginRebate)
|
||||
: marginRebate
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user