【问题标题】:Adding DBps scale from 0-100 within min/max values在最小/最大值范围内添加 0-100 的 DBps 刻度
【发布时间】:2022-12-12 02:13:41
【问题描述】:
我有一个项目,我使用 vue-slider 来调整音量,同时我也使用 vue-slider 的过程来显示实际输出的当前水平,但是我有一个数学问题超出了我的头脑思维。
假设我已经读取了 -15db 的级别,现在我的比例从 -40db 到 +20db,但是 vue-slider 的进程不关心这个值,它的值基于百分比,从 0 - 100。
所以问题是,我可以使用什么方程来获得 value(-15) 在 min(-40) 和 max(20) 之间的百分比(在 0-100% 之间)?
滑块示例:
【问题讨论】:
标签:
math
vue-slider-component
【解决方案1】:
我使用的解决方案如下:
let percent = 0
if (level > chGainMin) {
const translator = Math.abs(chGainMin)
const newMin = chGainMin + translator
const newMax = chGainMax + translator
const newLevel = level + translator
percent = ((newLevel-newMin)*100) / (newMax-newMin)
}
使用 abs 将负最小值转换为正数,并将此数字附加到最小值、最大值和值。然后像往常一样计算百分比。