Функция Number

 ↑  ←  Описание функции


Number

Возвращает числовое представление выражения.

Number ( expression [, flag = 0 ] )

Параметры

expression Выражение для преобразования в число.
flag [необязательный] Указывает поведение.
Может быть одно из следующих значений:
Default = возвращает 32 или 64-битное целое число. См. примечания.
1 = возвращает 32-битное целое число.
2 = возвращает 64-битное целое число.
3 = возвращает double.

Возвращаемое значение

Возвращает число.

Примечания

Если передаётся число, то функция возвращает входные данные.
Строка, начинающаяся с букв, имеет числовое представление равное нулю. Строка, начинающаяся с цифр и содержащая не цифры - обрезается. Числом воспринимается любая последовательность цифр от 0 до 9. Символы "+" и "-" могут быть только префиксом числа или экспоненты. Точка "." может быть в любой позиции, но повторное использование воспринимается литерально (как есть). Допускается экспоненциальный вид числа, например 2e-3. Если строка содержит правильное шестнадцатеричное число с префиксом "0x", оно будет преобразовано с учётом допустимых символов 0-9, A-F, a-f.
Поведение по умолчанию является таким, что длина целого числа устанавливается автоматически. Если входное значение после преобразования находится в пределах 32-битного целого числа, то возвращается в виде 32-битного целого числа, в противном случае возвращается в виде 64-битного целого числа. Оба знаковые (имеют бит указывающий положительное или отрицательное число).

См. также

Int, String, Binary, Ceiling, Floor, HWnd, Ptr, Round

Пример

$n = _ ; Нижнее подчёркивание является символом переноса строки в коде
'Number(2+3*4)   = ' & Number(2+3*4) & @LF & _ ; возвращает 14 (матем. операции с числами выполняются в первую очередь)
'Number("2+3*4") = ' & Number("2+3*4") & @LF & _ ; возвращает 2 (используйте Execute, чтобы вернуть 14)
'Number("3.14")   = ' & Number("3.14") & @LF & _ ; возвращает 3.14
'Number("-3.14")  = ' & Number("-3.14") & @LF & _ ; возвращает -3.14
'Number(21/7) = ' & Number(21/7) & @LF & _ ; возвращает 3
'Number("21/7")   = ' & Number("21/7") & @LF & _ ; возвращает 21
'Number("tmp3")   = ' & Number("tmp3") & @LF & _ ; возвращает 0
'Number("3tmp")   = ' & Number("3tmp") & @LF & _ ; возвращает 3
'Number(-3-4) = ' & Number(-3-4) & @LF & _ ; возвращает -7
'Number("-3-4")   = ' & Number("-3-4") & @LF & _ ; возвращает -3
'Number("+3.4.5+3.4")   = ' & Number("+3.4.5+3.4") & @LF & _ ; возвращает 3.4
'Number("2,000")   = ' & Number("2,000") & @LF & _ ; возвращает 2
'Number("2 000")   = ' & Number("2 000") & @LF & _ ; возвращает 2
'Number(".4.4-3")   = ' & Number(".4.4-3") & @LF & _ ; возвращает 0.4
'Number("-3.4e-2") = ' & Number("-3.4e-2") & @LF & _ ; возвращает -0.034, экспоненциальный вид
'Number("-3") = ' & Number("-3") & @LF & _ ; возвращает -3
'Number("0x000009") = ' & Number("0x000009") & @LF ; возвращает 9, шестнадцатеричные числа поддерживаются

MsgBox(64 + 4096, "Number", $n)