определить число целое или нет
здравствуите
хочу понимать число целое или нет, сделаю так 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, время: 01:42. |