определить число целое или нет
здравствуите
хочу понимать число целое или нет, сделаю так
var bla = 3.9;
if (Math.ceil(bla) - bla > 0) {
alert("bla не целое число");
}
else {
alert("bla целое число");
}
но интересно не сушествует более громатни способ? что-то наподобие такого функции is_float() ? |
var bla = 3.9;
if ((bla+"").indexOf(".") > 0) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
или
var bla = 3.9;
if ( parseInt(bla) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
var bla = 45;
if ( parseInt(bla) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
|
var bla = 0.0000001;
if ((bla+"").indexOf(".") > 0) {
alert("bla не целое число");
} else {
alert("bla целое число");//этот работает
}
Поэтому первое решение devote неправильное. |
var bla = 0.0000001;
if ( ((1+bla)+"").indexOf(".") > 0 ) {
alert("bla не целое число");
} else {
alert("bla целое число");//этот работает
}
|
Нужно ли считать 4.0 нецелым числом?
function isFloat(num) {
return num.toFixed() != num;
}
alert( true === isFloat(3.9) === !isFloat(4) === !isFloat(4.0) === isFloat(4.000000001) );
|
Ну используйте значит второй вариант:
var bla = 0.0000001;
if ( parseInt( bla ) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
или тот что показал Deff |
Цитата:
var bla = 4.0;
if ( parseInt( bla ) != bla ) {
alert("bla не целое число");
} else {
alert("bla целое число");
}
|
Цитата:
alert( 4.0 ); |
Цитата:
|
Цитата:
function isFloat(num) { return parseInt( num ) !== parseFloat( num ) }
alert([
isFloat('4.0'),
isFloat('4'),
isFloat(4),
isFloat(4.1)
].join('\n'));
=) |
| Часовой пояс GMT +3, время: 23:29. |