number

Описание

Числовое значение произвольной длины с поддержкой десятичной точки.

Синтаксис

Значение может быть задано либо числом из множества {…, -2, -1, 0, 1, 2, …}, либо любым вещественным числом.
Целые числа могут быть указаны в десятичной (основание 10), шестнадцатеричной (основание 16), восьмеричной (основание 8) или, с помощью функции number(), любой другой системе счисления, с необязательным предшествующим знаком (- или +).

  • Для записи в шестнадцатеричной системе счисления, необходимо поставить перед числом префикс 0x.
  • Для записи в восьмеричной системе счисления, необходимо поставить перед числом префикс 0 (нуль).


  • В качестве разделителя разрядов можно использовать пробел или знак подчеркивания «_» (не путать с разделителем целой и дробной частей)


var n;
n = 42;                   // десятичная форма целого числа
n = 42.99;                // десятичная форма вещественного числа
n = 156 234 759;          // можно использовать пробел в качестве разделителя групп разрядов (касается только десятичной формы)
n = 235_532_645;          // а можно и знак подчеркивания (касается только десятичной формы)
n = 0x11;                 // шестнадцатеричная форма
n = 0123765;              // восьмеричная форма (с лидируюшим нулем)
n = integer("135", 11);   // создание целого числа по произвольному основанию (в данном случае по основанию 11)

var a = 1;
var b = 123456789;
var c = 124098712358079634897623487612349721340345908734589763487362872638349587345796349782634987.2340947362407364;
println("Sum is " + (a + b + c));
Операции
+ сложение println(5 + 4);
- вычитание (Внимание! Пробелы с двух сторон от знака обязательны(!).)println(7 - 3);
* умножение println(4 * 5);
/ деление println(8 / 4);
^ возведение в степень println(5 ^ 2);
% деление по модулю println(5 % 2);
~ конкатенация операндов как строковых println(5 ~ 7);
== сравнение println(5 == 7);
<> ( != ) сравнение println(5 != 7);
< сравнение println(5 < 7);
> сравнение println(5 > 7);
Преобразование в number

Преобразование выполняется функцией toNumber(value) по следующим правилам:

  • строки преобразуется в число если у неё есть лидирующие цифры
  • дата преобразуется в число, равное количеству секунд
  • массивы преобразуются в число, равное размеру массива

Во всех других случаях будет 0.

println(toNumber("-.5sdf"));       // -0.5
println(toNumber([24, 76, 85]));   // 3
Проверка типа
println(isNumber(5.5));    // true
println(isInteger(5.5));   // false, т.к. есть десятичная точка
Объектные методы

Отсутствуют.

 
script/data_type_number.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS