Я пишу приложение, которое требует округления меток до ближайшего «хорошего» числа. Я помещу код ниже, чтобы продемонстрировать это, но моя проблема в том, что я использовал серию else if, чтобы найти это число, но я не могу быть уверен в верхнем пределе, поэтому это не совсем хорошая стратегия. Есть ли какие-либо известные алгоритмы или ресурсы, которые могут мне помочь?
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...