# .VALX()

> [HTML Version](valx().htm)

_Updated May 2024_

The .VALX(a\$) function is an extended version of the traditional [VAL()](val()andval$().md). It supports all of the same behavior, plus it automatically skips over any amount of non-numeric text preceding the number, and also recognizes common types of numeric formatting such as thousands separators, currency symbols, and parentheses for negatives. This makes it particularly handy for importing values from spreadsheets and reading numeric cells in XTREE.

**Examples**

| **Expression** | **val(expr)** | **.valx(expr)** | **Notes** |
|------|------|------|------|
| "123" | 123 | 123 |  |
| "  123" | 123 | 123 | leading spaces  |
| " -123 US" | \-123 | \-123 | leading minus and spaces |
| "\$123" | 0 | 123 | leading non-digits |
| "-\$123.45" | 0 | \-123.45 | leading -\$ |
| "123,456.78" | 123 | 123456.78 | thousands separators |
| "(\$1,234.56)" | 0 | \-1234.56 | parentheses for neg |
| "price: (USD) 0.99" | 0 | 0.99 | (USD) ignored (non-numeric) |
| "\&h0200" | 512 | 512 | \&h for hex |
| "\&O0200" | 128 | 128 | \&o for octal |
| "hex flags: \&h0200" | 0 | 512 | leading text |
| "hex flags: 0x0200" | 0 | 512 | 0x for hex  |
| "octal flags: o0200" | 0 | 128 | 0o for octal |
| "binary flags: 0b10110" | 0 | 22 | 0b for binary |
| "\&b1010101010101010" | 0 | 43690 | \&b for binary |




**History**

2021 April, A-Shell 6.5.1702:  Add function to A-Shell.