Разделите исходное число на точность, округлите до ближайшего целого числа, а затем снова умножьте на точность:
double roundDown(double unrounded, double precision) {
return precision * Math.floor(unrounded / precision);
}
Обратите внимание, что присущие неточности с плавающей точкой означают, что ваш номер не может быть точно ответом, который вы ищете - например, вы можете получить 137,399999 вместо 137,4