- 在 fastVue.base.js 中实现整数位数配置选项 integerDigits - 添加 checkIntegerDigitsInput 函数验证整数位数输入限制 - 实现 limitIntegerDigits 函数控制数值字符串中的整数位数 - 在键盘处理和粘贴事件中集成整数位数限制逻辑 - 更新掉期交易价格精度配置支持 quantityIntegerDigits 选项 - 扩展精度辅助函数支持整数位数配置和验证规则 - 添加完整的单元测试覆盖整数位数限制功能
57 lines
3.5 KiB
JavaScript
57 lines
3.5 KiB
JavaScript
// 通过 /front/swappriceprecision 加载。可按 UnderlyingInstrumentType 修改;缺项或非法值由页面精度组件回退内置默认规则。
|
|
window.main = window.main || {};
|
|
window.main.swapPricePrecision = {
|
|
common: {
|
|
amount: { precision: 2, grouping: true },
|
|
quantity: { integerDigits: 16, precision: 2, grouping: true },
|
|
rate: { precision: 4 }
|
|
},
|
|
Stock: { integerDigits: 7, precision: 2, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
StockIndex: { integerDigits: 7, precision: 2, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
StockIF: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
CommodityFutures: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
CommoditySpot: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
NewOtcStock: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
HKStock: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
HKStockIndex: { integerDigits: 7, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
Fund: { integerDigits: 7, precision: 4, quantityPrecision: 4, quantityIntegerDigits: 12 },
|
|
Bond: {
|
|
quantityPrecision: 0, quantityIntegerDigits: 16,
|
|
grossPrice: { integerDigits: 6, precision: 9 },
|
|
netPrice: { integerDigits: 6, precision: 9 },
|
|
yield: { integerDigits: 2, precision: 4 }
|
|
},
|
|
TBonds: {
|
|
quantityPrecision: 0, quantityIntegerDigits: 16,
|
|
grossPrice: { integerDigits: 6, precision: 9 },
|
|
netPrice: { integerDigits: 6, precision: 9 },
|
|
yield: { integerDigits: 2, precision: 4 }
|
|
},
|
|
CreditBonds: {
|
|
quantityPrecision: 0, quantityIntegerDigits: 16,
|
|
grossPrice: { integerDigits: 6, precision: 9 },
|
|
netPrice: { integerDigits: 6, precision: 9 },
|
|
yield: { integerDigits: 2, precision: 4 }
|
|
},
|
|
OtherBonds: {
|
|
quantityPrecision: 0, quantityIntegerDigits: 16,
|
|
grossPrice: { integerDigits: 6, precision: 9 },
|
|
netPrice: { integerDigits: 6, precision: 9 },
|
|
yield: { integerDigits: 2, precision: 4 }
|
|
},
|
|
TBFutures: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
OtherFutures: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
GoldFutures: { quantityIntegerDigits: 12 },
|
|
GoldSpot: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
OtherSpot: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
AbroadFutures: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
AbroadSpot: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
AbroadStock: { integerDigits: 8, precision: 2, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
AbroadStockIndex: { integerDigits: 8, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
ExRate: { integerDigits: 2, precision: 8, quantityPrecision: 8, quantityIntegerDigits: 16 },
|
|
Shibor: { integerDigits: 2, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
FixingRepoRate: { integerDigits: 2, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12 },
|
|
RateYield: {integerDigits: 6, precision: 8, quantityPrecision: 2, quantityIntegerDigits: 12},
|
|
BondIndex: {integerDigits: 6, precision: 4, quantityPrecision: 2, quantityIntegerDigits: 12},
|
|
};
|