number

A function that can be used in Formulas.

Syntax and semantics

number (a$)
interpret a string as a number.
    assert number ("0.0") = 0
    assert number ("0.00123") = 0.00123 ; decimal point
    assert number ("12e34") = 1.2e+35 ; exponent introduced by "e" or "E"
    assert number ("junk") = undefined ; i.e. not zero as in C++ !
    assert number (" -0.0000000123junk") = -1.23e-08 ; maximize digits, then ignore
    assert number ("1.0e+309") = undefined
    assert number ("1.0e-309") <> 0 ; denormalized
    assert number ("1.0e-319") <> 0 ; denormalized
    assert number ("1.0e-329") = 0 ; underflow
    assert number ("32278") = 32278
    assert number ("-32278") = -32278
    assert number ("32278.64785") = 32278.64785
    assert number ("-32278.64785") = -32278.64785
    assert number ("32278.647e85") = 32278.647e85
    assert number ("-32278.647e85") = -32278.647e85
    assert number ("32278.647e-85") = 32278.647e-85
    assert number ("-32278.647e-85") = -32278.647e-85
    assert number ("32278.647e-305") = 32278.647e-305
    assert number ("-32278.647e-305") = -32278.647e-305
    assert number ("32278.647e-315") = 32278.647e-315
    assert number ("-32278.647e-315") = -32278.647e-315
    assert number ("32278.647e-325") = 32278.647e-325
    assert number ("-32278.647e-325") = -32278.647e-325
    assert number ("32278.647e305") = 32278.647e305
    assert number ("-32278.647e305") = -32278.647e305
    assert number ("32278.647e315") = 32278.647e315
    assert number ("-32278.647e315") = -32278.647e315
    assert number ("32278.647e325") = 32278.647e325
    assert number ("-32278.647e325") = -32278.647e325

Hexadecimal:

    assert number ("0x32278") = 0x32278
    assert number ("0x123") = 291
    assert number ("0x000001ABCDEFGH") = 0x00001abcdef ; maximize digits, then ignore
    assert number ("0x123.456") = 291.27099609375
    assert number ("0x123.abc") = 291.6708984375 ; hexadecimal point
    assert number ("0x123.abcp-1") = 145.83544921875 ; exponent introduced by "p" or "P"
    assert number ("0x123.abcP-2") = 72.917724609375
    assert number ("0x123.abcp-12") = 0.07120871543884277 ; the exponent is decimal !
    assert number ("0x123.abcp-1A2") = 145.83544921875 ; the exponent is decimal !
    assert number ("-0x1afp-2") = -107.75 ; from `cppreference.com`

Links to this page


© Paul Boersma 2023,2024