File Explorer

/proc/self/task/9/root/usr/share/awk

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

0 dirs
27 files
strtonum.awk1.4 KB · 59 lines
# mystrtonum --- convert string to number ## Arnold Robbins, arnold@skeeve.com, Public Domain# February, 2004# Revised June, 2014 function mystrtonum(str,        ret, n, i, k, c){    if (str ~ /^0[0-7]*$/) {        # octal        n = length(str)        ret = 0        for (i = 1; i <= n; i++) {            c = substr(str, i, 1)            # index() returns 0 if c not in string,            # includes c == "0"            k = index("1234567", c)             ret = ret * 8 + k        }    } else if (str ~ /^0[xX][[:xdigit:]]+$/) {        # hexadecimal        str = substr(str, 3)    # lop off leading 0x        n = length(str)        ret = 0        for (i = 1; i <= n; i++) {            c = substr(str, i, 1)            c = tolower(c)            # index() returns 0 if c not in string,            # includes c == "0"            k = index("123456789abcdef", c)             ret = ret * 16 + k        }    } else if (str ~ \  /^[-+]?([0-9]+([.][0-9]*([Ee][0-9]+)?)?|([.][0-9]+([Ee][-+]?[0-9]+)?))$/) {        # decimal number, possibly floating point        ret = str + 0    } else        ret = "NOT-A-NUMBER"     return ret} # BEGIN {     # gawk test harness#     a[1] = "25"#     a[2] = ".31"#     a[3] = "0123"#     a[4] = "0xdeadBEEF"#     a[5] = "123.45"#     a[6] = "1.e3"#     a[7] = "1.32"#     a[8] = "1.32E2"##     for (i = 1; i in a; i++)#         print a[i], strtonum(a[i]), mystrtonum(a[i])# }