fix(swap): 统一处理【名义本金】数值精度舍入问题
- 在多个位置添加 Math.Round 函数确保金额计算精度 - 新增 NormalizeNotionalValues 方法统一处理 UnwindData 中的名义本金舍入 - 修复交易平仓时 StockEqvNotional 扣减计算的精度问题 - 解决持仓数据 PosiNotionalValue 的精度舍入处理 - 修复前端页面显示格式化问题 - 添加单元测试验证名义本金舍入逻辑正确性
This commit is contained in:
@@ -62,7 +62,7 @@ namespace YLErp.Modules.SwapModule
|
||||
position.PosiGrossPrice = eodPayPosition.PosiGrossPrice;
|
||||
position.PosiNetFeePrice = eodPayPosition.PosiNetFeePrice;
|
||||
position.PosiNetNoFeePrice = eodPayPosition.PosiNetNoFeePrice;
|
||||
position.PosiNotionalValue = eodPayPosition.PosiNotionalValue;
|
||||
position.PosiNotionalValue = Math.Round(eodPayPosition.PosiNotionalValue, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
position.PosiQuantity = eodPayPosition.PosiQuantity;
|
||||
position.PosiStartDate = eodPayPosition.PosiStartDate;
|
||||
position.OptTime = DateTime.Now;
|
||||
@@ -85,7 +85,7 @@ namespace YLErp.Modules.SwapModule
|
||||
position.PosiGrossPrice = eodPayPosition.PosiGrossPrice;
|
||||
position.PosiNetFeePrice = eodPayPosition.PosiNetFeePrice;
|
||||
position.PosiNetNoFeePrice = eodPayPosition.PosiNetNoFeePrice;
|
||||
position.PosiNotionalValue = eodPayPosition.PosiNotionalValue;
|
||||
position.PosiNotionalValue = Math.Round(eodPayPosition.PosiNotionalValue, ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero);
|
||||
position.PosiTradingFeePending = eodPayPosition.PosiFeePending;
|
||||
position.PosiQuantity = eodPayPosition.PosiQuantity;
|
||||
position.PosiDirection = eodPayPosition.PosiDirection;
|
||||
|
||||
Reference in New Issue
Block a user