Estoy escribiendo una aplicación que requiere etiquetas de redondeo al número "bonito" más cercano. Pondré algunos códigos debajo para demostrar esto, pero mi problema es que estaba usando una serie de ifs adicionales para encontrar este número, pero no puedo estar seguro del límite superior, así que esta no es realmente una buena estrategia. ¿Hay algún algoritmo o recurso conocido que pueda ayudarme?redondear al número agradable más cercano
if (diff <= 1) {
roundAmount = 0.2;
} else if (diff <= 5) {
roundAmount = 1;
} else if (diff <= 10) {
roundAmount = 2;
} else if (diff <= 25) {
roundAmount = 5;
} else if (diff <= 50) {
roundAmount = 10;
} else if (diff <= 100) {
roundAmount = 20;
} else if (diff <= 250) {
roundAmount = 50;
} else if (diff <= 500) {
roundAmount = 100;
} else if (diff <= 1000){
roundAmount = 200;
} etc...
Solo puede aplicar un algoritmo si puede definir reglas específicas para qué 'redondeo' realmente es * is *. ¿Tiene esas reglas en mente? Es difícil de decir de su código publicado. – Qwerky
¿Cómo funcionaría ese redondeo, es decir, cómo se podría definir ese número "agradable"? Por ejemplo: 51 se redondearía a 20 (¿es 'roundAmount' el número agradable?) Mientras que 50 se redondea a 10? – Thomas
En este momento, quiero que el redondeo sea un quinto del siguiente número agradable más alto. Un ejemplo más claro podría ser que si tengo los números 1.2, 1.9, 3.65, 4.1, 4.67 me gustaría que las etiquetas se dibujen en 1, 2, 3, 4, 5. – user650309