Я хочу знать, есть ли способ округлить мое число, только когда оно заканчивается на nine?
nine
Например, у меня есть 10.9, оно должно быть округлено до 11, но если яиметь 10.8, тогда оно не должно быть округлено.
10.9
11
10.8
У меня небольшая идея сделать это, используя JS Functions AS следующим образом:
function qwerty() { var number = 11.9; var numberStringArr = number.toString().split("."); if(numberStringArr[1] == 9) { // if condition is true, it will add 1 var num = number + 1; var numberStringArr = num.toString().split(".") alert(numberStringArr[0]); } else { alert("No Change"); } } qwerty();
Была дана ссылка для JSFiddle https://jsfiddle.net/2002utewari/0xjh7fp1/
Самое короткое решение
function round(v) { return(''+v).slice(-1) == 9 ? v + 0.1 : v; } console.log(round(10.9)); // 11 console.log(round(10.8)); // 10.8
Преобразовав его в строку временно, вы можете получить последний символ и проверить, является ли он 9:
const dontRoundUnlessEndsInNine = (num) => { return (String(num).substr(-1) === '9') ? Math.ceil(num) : num; }
Вы можете проверить значение.
function round(v) { return Math.floor(v + 0.1) === v + 0.1 ? v + 0.1 : v; } console.log(round(10.9)); // 11 console.log(round(10.8)); // 10.8
radix = number % 1.0
radix
0.9
1.0
> 0.8999
>= 0.9
==
Math.ceil
Примерно так:
function roundUpIfDotNine( n ) { var radix = n % 1.0; if( radix > 0.899 && radix < 1.0 ) { return Math.ceil( n ); } else { return n; } }