[oldMin,oldMax]
間隔内の数値を取り、範囲に線形にスケーリングするスケーリング関数を作成しました[newMin,newMax]
。負の値を使用すると機能しないようです。
function linearScaling(oldMin, oldMax, newMin, newMax, oldValue){
var newValue;
if(oldMin !== oldMax && newMin !== newMax){
newValue = parseFloat((((oldValue - oldMin) * (newMax - newMin)) / (oldMax - oldMin)) + newMin);
newValue = newValue.toFixed(2);
}
else{
newValue = error;
}
return newValue;
}
この関数は、値を 0 -> 32761 から範囲範囲 0 -> 10 にスケーリングするときに機能するようです。ただし、新しい負の範囲、つまり -10 -> 10 を指定すると、正しい出力が得られないようです。
このサイトで答えを見つけるために最善を尽くしました。しかし、質問をした人は、それを修正するために何をしたかについては言及していません。その質問は、混同されたデータ型と関係がある可能性があると言っていますが、すべてをフロートに変換しましたが、何か見逃しましたか?