Манипуляции числовыми значениями
Оглавление
Манипуляции числовыми значениями
Страница 2
Страница 3
Страница 1 из 3
Здесь собраны предложенные народом функции и методы объекта Number, которые
могут пригодиться при работе с числовыми значениями.
Хорошая идея!
Поместите объявления функций и методов, работающих с числовыми значениями, в
файл сценариев. Этот файл можно назвать, например, numberutils.js. Впоследствии,
чтобы использовать какую-либо функцию или метод, достаточно будет просто
подключить к Web-странице этот файл сценариев с помощью тега:
<SCRIPT SRC="numberutils.js"></SCRIPT>
Преобразование строки в числовое значение
Проблема
Как преобразовать строку, содержащую целое или дробное число, в числовое
значение?
Решение
Использовать функции parseInt и parseFloat. Первая функция преобразует строку
в целое число, вторая — в число с плавающей точкой.
Формат вызова функции parseint: parseint(<Строка>[,
<Основание>]);
Первым параметром в эту функцию передается сама строка, содержащая число.
Вторым же параметром передается основание системы счисления; если он пропущен,
интерпретатор JavaScript использует основание 10 (т. е. десятичную систему).
Формат вызова функции parseFioat проще: parseFioat(<Строка>) ;
Обе функции возвращают число.
Народ предупреждает!
Если число, переданное в функцию parseint или parseFioat, невозможно
преобразовать в число, возвращается особое значение NaN (Not a Number, не
число).
JavaScript предоставляет возможность проверить, можно ли преобразовать строку
в число. Для этого используется функция isNaN. В качестве единственного
параметра в нее передается строка. Если эта строка может быть преобразована в
число, возвращается true, в противном случае — false.
Примеры
var nl = parseint("45"); var n2 = parseint("3.14"); var n3 = parseint("OxFF",
16); var n4 = parseint("JavaScript");
После выполнения этого сценария в переменной nl окажется число 45, в
переменной п2 — число 3 (поскольку функция parseint "занимается" исключительно
целыми числами), в переменной пз — число 255 (десятичное представление
шестнадцатеричного числа FF), а в переменной п4 — значение NaN (поскольку строка
"JavaScript" не может быть никаким образом преобразована в число).
var f1 = parseFloat("3.14"); var f2 = parseFloat("4.5ggg");
А этот сценарий поместит в переменную fi число 3,14, а в переменную f2 —
число 4,5 (интерпретатор JavaScript сочтет первые три символа переданной в
функцию parseFloat строки числом, а остальные символы отбросит).
Округление числа до произвольного знака после запятой
Проблема
JavaScript не предоставляет никаких средств для округления дробных чисел до
произвольного знака после запятой. Как быть?
Решение
Использовать функцию jspsRound (листинг 1.14) или метод round объекта Number
(листинг 1.15). Форматы их вызова таковы:
jspsRound(<Число>[, <Количество знаков после запятой>]);
хаип&([<Количество знаков после запятой>]);
Если количество знаков после запятой не указано, выполняется округление до
целого числа. И функция, и метод возвращают округленное число.
Листинг 1.14. Функция jspsRoumd, возвращающая число, округленное до заданного
количества знаков после запятой
function jspsRound(workNumber, precision) {
if ('precision) precision = 0; var nM = Math.pow(10, precision) ,-return
Math.round(workNumber * nM) / nM; }
Листинг 1.15. Метод round объекта Number, возвращающий число, округленное до
заданного количества знаков после запятой
function mjspsRound(precision) {
if (!precision) precision = 0;
var workNumber = new Number(this);
var nM = Math.pow(10, precision);
return Math.round(workNumber * nM) / nM; }
Number.prototype.round = mjspsRound;
Пред. - След. »