学渣求一个算法公式
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))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你想请求算法,则应该主要介绍数据关系,而不是直接给出你的算法吧。
你的数据关系还是不够明白啊
我理解的:
1.价格数组中 ,每个元素是 一个 价格数据price,一个精度数据scale,
2.此外还有一个外部调整 系数ratio,在计算中与价格数据price相乘得出 一个新的价格数据。
期望有一个算法F(price,scale,ratio),使得对价格数组中的每个元素,有 F(price,scale,ratio) 与 price的差距随 scale 正增长。
这里其实有很多歧义可能影响到算法:
这些不弄清楚(加以限定),则结果可能差异很大。
你自己实现的算法现在看应该没有太大的问题的。