我处于一个奇怪的情况,我的值为0.5,我希望将0.5到1的值转换为百分比,将0.5到0的值转换为负百分比。
如标题所述,0.4应为-20%,0.3应为-40%,0.1应为-80%。
我确信这是一个简单的问题,但我的想法只是拒绝弄明白:)
有人可以帮忙吗? :)
答案 0 :(得分:10)
我们想要做的是将范围(0; 1)缩放到(-100; 100):
percentage = (value - 0.5) * 200;
减法转换值使其在范围(-0.5; 0.5)内,并且乘法将其缩放到(-100; 100)的范围。
答案 1 :(得分:1)
percent = ((value - 0.5) / 0.5) * 100
这将从-100到100生成。您想要从给定值中减去零值(0.5),并除以应该给出100%的范围(在您的示例中也是0.5)。然后乘以100转换为百分比。
答案 2 :(得分:0)
将其标准化,然后就完成了:
// Assuming x is in the range (0,1)
x *= 2.0; // x is in the range (0,2)
x -= 1.0; // (-1,1)
x *= 100; // (-100,100)