Map a value from one number scale to another – formula and C# code

Let’s say you have a number scale that has a minimum and a maximum. You have a second number scale with a min and a max. How do you map an arbitrary value somewhere on that number scale to the second scale?

A number scale, map a value from one scale to anotherLet’s call the top scale a with a0 = 10 and a1 = 40. The bottom scale goes from b0 = -1 to b1 = 1. We want to map the value a = 20 to some value of b. The equation is:



If you are normalising a value to between 0 and 1, then b0 = 0 and b1 = 1. The equation reduces nicely to:



C# code example

public double MapValue(double a0, double a1, double b0, double b1, double a)
	return b0 + (b1 - b0) * ((a-a0)/(a1-a0));

Add a Comment

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.