// ***************************************************************************
// *
// *   Copyright (C) 1997-2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

// This is an invariant locale.
// This has been also known as the C locale on Unix or the invariant locale in Windows.
en_US_POSIX {
    Version{ "2.0" }
    // No grouping separators
    NumberPatterns { 
        "###0.###;-###0.###",
        "\u00A4 ###0.00;-\u00A4 ###0.00",
        "###0%",
        "0.000000E+000",
    }
    NumberElements {
        ".",
        ",",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "0/00",
        "INF",
        "NaN",
        ".",
        "+",
    }
}
