Number Inline Expressions

From MSX - Wiki
Revision as of 20:21, 31 October 2024 by Benzac (talk | contribs) (→‎Code)
Jump to navigation Jump to search

It is possible to convert numbers (indicated in milliseconds) with inline expressions into date, time, or duration values. The expressions are similar to the Live Inline Expressions and look like this: {num:{NUMBER}:{TYPE}:{FORMAT}}. It is also possible to add colored values with the expression syntax {txt:{COLOR}:num:{NUMBER}:{TYPE}:{FORMAT}}. Please see Colors for possible color values. This feature is available since version 0.1.91. Since version 0.1.160, a number can also be basically formatted by using the syntax {num:{NUMBER}:format} or {num:{NUMBER}:format:{FORMAT}}. In the first case, the number format is taken from the dictionary. Please see the #Basic Number Format for examples.

Basic Number Format[edit]

Basic format of numbers
Format Syntax Format Example Output Example Since Version

{num:{NUMBER}:format}

{num:123:format}
{num:1234:format}
{num:12345.12345:format}

123
1,234
12,344.12345

0.1.160

{num:{NUMBER}:format:{DECIMAL_DIGITS}}
{num:{NUMBER}:format:{DECIMAL_DIGITS}{DECIMAL_TRIMMING}}

{num:123:format:0}
{num:123:format:1}
{num:123:format:2}
{num:123:format:02}
{num:123:format:12}
{num:123:format:21}

{num:1234.1:format:0}
{num:1234.1:format:1}
{num:1234.1:format:3}
{num:1234.1:format:03}
{num:1234.1:format:23}
{num:1234.1:format:32}

{num:12345.12345:format:0}
{num:12345.12345:format:1}
{num:12345.12345:format:4}
{num:12345.12345:format:04}
{num:12345.12345:format:24}
{num:12345.12345:format:42}

123
123.0
123.00
123
123.0
123.00

1,234
1,234.1
1,234.100
1,234.1
1,234.10
1,234.100

12,345
12,345.1
12,345.1234
12,345.1234
12,345.1234
12,345.1200

0.1.160

{num:{NUMBER}:format:{THOUSANDS_SEPARATOR}}
{num:{NUMBER}:format:{THOUSANDS_SEPARATOR}{DECIMAL_SEPARATOR}}
{num:{NUMBER}:format:{THOUSANDS_SEPARATOR}{DECIMAL_SEPARATOR}{DECIMAL_DIGITS}}
{num:{NUMBER}:format:{THOUSANDS_SEPARATOR}{DECIMAL_SEPARATOR}{DECIMAL_DIGITS}{DECIMAL_TRIMMING}}

{num:12345.12345:format:.,}
{num:12345.12345:format: .}
{num:12345.12345:format: ,}
{num:12345.12345:format:.,0}
{num:12345.12345:format: .1}
{num:12345.12345:format: ,24}

12.345,12345
12 345.12345
12 345,12345
12.345
12 345.1
12 345,1234

0.1.160

Example[edit]

Screenshot[edit]

Example Screenshot (Number Inline Expressions)

Code[edit]

{
    "type": "pages",
    "headline": "Number Inline Expressions",
    "template": {
        "type": "separate",
        "layout": "0,0,2,3",
        "icon": "msx-white-soft:info",
        "color": "msx-glass"
    },
    "items": [{
            "title": "Specific Date/Time",
            "action": "info:{num:1548335764000:date:DD, MM d, yyyy}, {num:1548335764000:time:h:mm/ampm}"
        }, {
            "title": "Current Date/Time",
            "action": "info:{num:now:date:DD, MM d, yyyy}, {num:now:time:h:mm/ampm}"
        }, {
            "title": "Colored Date/Time",
            "action": "info:{txt:msx-blue:num:1548335764000:date:DD, MM d, yyyy}, {txt:msx-blue:num:1548335764000:time:h:mm/ampm}"
        }, {
            "title": "Duration Time",
            "action": "info:{num:5640000:duration:time:hh:mm:ss}"
        }, {
            "title": "Duration Text",
            "action": "info:{num:5640000:duration:text:dhms}"
        }, {
            "title": "Colored Duration",
            "action": "info:{txt:msx-blue:num:5640000:duration:text:dhms}"
        }, {
            "badge": "Formatter",
            "title": "Specific Date/Time",
            "titleFooter": "0.1.160+",
            "action": "info:{num:1548335764000:formatter:day_full}"
        }, {
            "badge": "Formatter",
            "title": "Current Date/Time",
            "titleFooter": "0.1.160+",
            "action": "info:{num:now:formatter:day_full}"
        }, {
            "badge": "Formatter",
            "title": "Colored Date/Time",
            "titleFooter": "0.1.160+",
            "action": "info:{txt:msx-blue:num:1548335764000:formatter:day_full}"
        }, {
            "badge": "Format",
            "title": "Default Number",
            "titleFooter": "0.1.160+",
            "action": "info:{num:12345.12345:format}"
        }, {
            "badge": "Format",
            "title": "Rounded Number",
            "titleFooter": "0.1.160+",
            "action": "info:{num:12345.12345:format:0}"
        }, {
            "badge": "Format",
            "title": "Colored Number",
            "titleFooter": "0.1.160+",
            "action": "info:{txt:msx-blue:num:12345.12345:format: ,24}"
        }]
}

Demo[edit]