可能重复:
将数字范围转换为另一个范围,保持比率
所以我有一个函数返回0和255之间的值,我需要将这些值转换为介于-255和255之间的值所以200大约是145,150大约是45,依此类推..我看过转换一个数字范围到另一个范围,保持比例,但公式不起作用.我可以使用的任何其他公式?
Wim*_*nen 35
public static int ConvertRange(
int originalStart, int originalEnd, // original range
int newStart, int newEnd, // desired range
int value) // value to convert
{
double scale = (double)(newEnd - newStart) / (originalEnd - originalStart);
return (int)(newStart + ((value - originalStart) * scale));
}
Run Code Online (Sandbox Code Playgroud)