将度数值转换为0到100之间的单位

时间:2014-02-15 16:48:23

标签: javascript math

我有一个组件,它返回0到360度的值,我需要将该值传递给单位,例如从0到100。

我有以下功能,但看起来很难看

function degToValue( deg ) 
{
    var unit = Math.ceil( ( deg * 100 ) / 360 );
    if ( unit ===  0 ) unit = 100;
    if ( deg < 1.6 && deg > 0 ) unit = 0;
    return unit;
}

你知道更优雅的方式吗?

1 个答案:

答案 0 :(得分:1)

你可以除以3.6并使用模数来使这更漂亮:

function degToValue( deg )
{
    var unit = (deg / 3.6) % 100;
    return (unit === 0 ? 100 : unit);
}

console.log( degToValue( 360 )); //100
console.log( degToValue( 0 )); //100
console.log( degToValue( 355 )); //98.61
console.log( degToValue( 719 )); //99.72