| 
 | 
A function that can be used in Formulas.
number (a$)
   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`
© Paul Boersma 2023,2024