Csharp/C#教程:将范围内的数字转换为另一范围内的数字分享


将范围内的数字转换为另一范围内的数字

可能重复:
将数字范围转换为另一个范围,保持比率

所以我有一个函数返回0和255之间的值,我需要将这些值转换为介于-255和255之间的东西所以200大约是145,150大约是45,依此类推..我看过转换一个数字范围到另一个范围,保持比例但公式不起作用。 我可以使用的任何其他公式?

试试这个:

int Adjust( int num ) { return num * 2 - 255; } 

 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)); } 

任意范围的一般解决方案……

 var val1 = 200; var min1 = 0; var max1 = 255; var range1 = max1 - min1; var min2 = -255; var max2 = 255; var range2 = max2 - min2; var val2 = val1*range2/range1 + min2; 

 public int ConvertRange( int originalStart, int originalEnd, int newStart, int newEnd, int value) { int originalDiff = originalEnd - originalStart; int newDiff = newEnd - newStart; int ratio = newDiff / originalDiff; int newProduct = value * ratio; int finalValue = newProduct + newStart; return finalValue; } 

调整=原始/ 255 * 510 – 255

上述就是C#学习教程:将范围内的数字转换为另一范围内的数字分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 145 = 200 / 255 * 510 - 255 45 = 145 / 255 * 510 - 255 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006282.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐