#javascript #math
#javascript #математика
Вопрос:
Как вы можете найти ближайшее значение nb.5?
Исключая значения .0,
Пример,
round(1.0) = 1.5
round(1.99) = 1.5
round(2.0) = 2.5
Комментарии:
1. Просто любопытно, что насчет
round(-1)
?2. Должно следовать той же логике, -0.01 = -0.5, -0.99 = -0.5, -1.00 = -1.5, — и т.д. 🙂
Ответ №1:
Вы могли бы добавить 0.5
к значению, возвращаемому Math.floor()
:
const round = (number) => Math.floor(number) 0.5
console.log(round(1.0))
console.log(round(1.99))
console.log(round(2.0))
Комментарии:
1. Блестяще, спасибо, я полностью избежал этого.. Я не уверен, какой ответ пришел первым, но ваш кажется наиболее сложным, примет, когда мне будет разрешено.
2. @user2267175 Я ответил на 10 секунд раньше, потому что IEatBagels был занят поеданием рогаликов
3. @adiga Похоже, это будет моим падением
Ответ №2:
Math.floor(value) 0.5
должно сделать это.
Кроме того, вам следует уточнить свои спецификации… Поскольку ближайшее значение 0,5 из 2 равно 1,5 И 2,5, они оба находятся на одинаковом «расстоянии».
Я понимаю, что ваш пример касается этого сценария, переходя к ближайшему верхнему значению 0,5, но действительно ли это то, что вы хотите?
Ответ №3:
function round(num) {
return Math.round((num % 10)) 0.5
}
console.log(round(1));
console.log(round(1.99));
console.log(round(2));
Ответ №4:
Для достижения ожидаемого результата используйте приведенную ниже опцию, используя Math.trunc —https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
let round = (val) => Math.trunc(val) 0.5
console.log(round(1.99))
console.log(round(1))
console.log(round(2))