Javascript.RU

PHP-функция: intval

Javascript:

function intval( mixed_var, base ) {	// Get the integer value of a variable
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)

	var tmp;

	if( typeof( mixed_var ) == 'string' ){
		tmp = parseInt(mixed_var);
		if(isNaN(tmp)){
			return 0;
		} else{
			return tmp.toString(base || 10);
		}
	} else if( typeof( mixed_var ) == 'number' ){
		return Math.floor(mixed_var);
	} else{
		return 0;
	}
}

Примеры:

intval('Kevin van Zonneveld');
0

intval(4.2);
4

intval(42, 8);
42


Автор: Гость (не зарегистрирован), дата: 6 декабря, 2011 - 10:00
#permalink

intval(-2.5) вернет -3 (из-за Math.floor());
В PHP intval(-2.5) вернет -2


Автор: Londeren, дата: 23 декабря, 2011 - 13:22
#permalink

В php intval('08') вернет 8.
Эта функция возвращает 0.


Автор: Kagami Sorano (не зарегистрирован), дата: 6 июня, 2014 - 16:55
#permalink

Вот более хороший вариант. Отличие от php лишь в том, что нет второго аргумента base. В остальном окей. Или сможете найти ошибку?

function intval(num)
{
	//Author: Kagami Sorano 
	if (typeof num == 'number' || typeof num == 'string')
	{
		num = num.toString();
		var dotLocation = num.indexOf('.');
		if (dotLocation > 0)
		{//Ампутация дробной части
			num = num.substr(0, dotLocation);
		}
		if (isNaN(Number(num)))
		{
			num = parseInt(num);
		}
		if (isNaN(num))
		{
			return 0;
		}
		return Number(num);
	}
	else if (typeof num == 'object' && num.length != null && num.length > 0)
	{//Непустой массив/объект -> 1
		return 1;
	}
	else if (typeof num == 'boolean' && num === true)
	{//true -> 1
		return 1;
	}
	return 0;//Чуть что не так - сразу в ноль
}

Автор: Двараб (не зарегистрирован), дата: 7 мая, 2019 - 22:16
#permalink

А если передадут "2,10"


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum