将滑块值从点转换为kg

时间:2015-10-30 05:27:48

标签: javascript css math

我正在研究同事代码并试图在这里理解数学。

我有一个值为0-120的滑块来定义权重值,该权重值将根据滑块的位置(0-120值)转换为kilograms。这是sx变量

首先,我们假设以下值:

0 on slider => 88 lbs => 39.9 kg

146.19469026548674 on slider => 300 lbs => 136.078 kg

1kg is 2.2lbs 

我需要的是获取sx变量并将其转换为kg。 低于88磅的任何东西都会得到0而高于300磅的任何东西都会得到120作为sx值

更新

如果我使用数据库中存储为kg的值,如何将其转换为sx这是我到目前为止所做的:

sx = (weightVal-40)*1.25;

其中weightVal是数据库中的kg val。

1 个答案:

答案 0 :(得分:2)

这应该是你需要的:

kg = 39.9-sx *(136.078-39.9)/ 120

详细说明:

滑块范围(sx):0 - 120

体重范围(wlb):88 - 300

体重范围(wkg):39.9 - 136.078

转换因子kg - >磅:1千克= 2.20462磅

将滑块(sx)转换为重量千克(wkg): *假设sx限制在0到120之间的值 *如果sx = 0则wkg = 39.9 *如果sx = 120则wkg = 136.078 *否则wkg = 39.9 + sx *(136.078 - 39.9)/ 120     以kgs(wkg)为单位的重量等于滑块的底部值(0)加上滑块的总范围(136.078 - 39.9)的比例,如滑块位置(sx)所示。

将重量kgs(wkg)转换为滑块位置(sx): * sx必须在0 - 120范围内 *如果wkg< 39.9然后sx = 0 *如果wkg> 136.078然后sx = 120 *否则sx =((wkg - 39.9)/(136.078 - 39.9))* 120     滑块位置(sx)等于重量大于底值(wkg - 39.9)的比例,作为滑块(136.078 - 39.9)转换为滑块位置范围(120)所代表的总重量范围的比例)。

将滑块(sx)转换为重量lbs(wlb): *假设sx限制在0到120之间的值 *如果sx = 0则wlb = 88 *如果sx = 120则wlb = 300 *否则wlb = 88 + sx *(300 - 88)/ 120     以磅为单位的重量(wlb)等于滑块的底部值(0)加上滑块的总范围(300-88)的比例,如滑块位置(sx)所示。

将重量lbs(wlb)转换为滑块位置(sx): * sx必须在0 - 120范围内 *如果wlb< 88然后sx = 0 *如果wlb> 300然后sx = 120 *否则sx =((wlb-88)/(300-88))* 120     滑块位置(sx)等于重量大于底值(wlb - 88)的量,作为滑块(300 - 88)转换为滑块位置范围(120)所代表的总重量范围的比例)。

或者你可以用磅计算并使用上面的转换转换为kgs。

然后需要注意确保在浮点,有符号int和无符号int值之间转换时不会遇到截断或溢出错误。

我希望这会有所帮助。