const ratio = 0.9
const price = [{price: 9215.49,scale: 2}, {price: 172.19,scale: 2}, {price: 179.7132,scale: 4}, {price: 1.53058, scale: 5}, {price: 0.00030837,scale: 8}]
有一组价格数组,包含价格精度;一个倍数变量ratio;把价格放大r倍,得到一个差额;期望价格精度越大差额越大
我自己琢磨的公式:
const getDiff = (price, ratio) => {
const temp = []
for (const el of price) {
const priceScale = el.scale
const m = Math.pow(10, priceScale)
const r = (el.price * m) * ratio
const n = (el.price * m)
temp.push(n - r)
}
return temp
}
const ratio = 0.9
const price = [{price: 9215.49,scale: 2}, {price: 172.19,scale: 2}, {price: 179.7132,scale: 4}, {price: 1.53058, scale: 5}, {price: 0.00030837,scale: 8}]
console.log(getDiff(price, ratio))
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…