Javascript: arredonde para cima e para baixo até o número 5 mais próximo, depois encontre um denominador comum

Eu estou procurando uma maneira de arredondar para cima e para baixo para o próximo 5 e, em seguida, encontrar um grande denominador comum dos dois números. Eu preciso disso para a legenda de um y-skale em um gráfico.

Este é o meu código até agora:

<code>function toN5( x ) {
    var i = 1;
    while( x >= 100 ) {
        x/=10; 
        i*=10;
    }
    var remainder = x % 5;
    var distance_to_5 = (5 - remainder) % 5;
    return (x + distance_to_5) * i;
}
</code>

O alvo é algo assim: O valor máximo (arredonde para o 5 mais próximo)

<code>1379.8 -> 1500
</code>

E o contrário - valor mínimo (arredonde para o 5 mais próximo)

<code>41.8 -> 0
</code>

Então eu quero encontrar um denominador comum como 250 ou 500

0 -> 250 -> 500 -> 750 -> 1000 -> 1250 -> 1500

ou:

<code>0 -> 500 -> 1000 -> 1500
</code>

Existe uma maneira de fazer algo assim? Muito obrigado

questionAnswers(3)

yourAnswerToTheQuestion