Search in sources :

Example 96 with DecimalFormatSymbols

use of java.text.DecimalFormatSymbols in project robovm by robovm.

the class OldDecimalFormatSymbolsTest method test_DecimalFormatSymbols_France.

public void test_DecimalFormatSymbols_France() {
    /*
         * currency = [EUR]
         * currencySymbol = [U+20ac] // EURO SIGN
         * decimalSeparator = [,][U+002c]
         * digit = [#][U+0023]
         * groupingSeparator = [U+00a0] // NON-BREAKING SPACE
         * infinity = [U+221e] // INFINITY
         * internationalCurrencySymbol = [EUR]
         * minusSign = [-][U+002d]
         * monetaryDecimalSeparator = [,][U+002c]
         * naN = "NaN"
         * patternSeparator = [;][U+003b]
         * perMill = [U+2030] // PER MILLE
         * percent = [%][U+0025]
         * zeroDigit = [0][U+0030]
         */
    DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.FRANCE);
    assertEquals("EUR", dfs.getCurrency().getCurrencyCode());
    assertEquals("€", dfs.getCurrencySymbol());
    assertEquals(',', dfs.getDecimalSeparator());
    assertEquals('#', dfs.getDigit());
    assertEquals(' ', dfs.getGroupingSeparator());
    assertEquals("∞", dfs.getInfinity());
    assertEquals("EUR", dfs.getInternationalCurrencySymbol());
    assertEquals('-', dfs.getMinusSign());
    assertEquals(',', dfs.getMonetaryDecimalSeparator());
    // RI's default NaN is U+FFFD, Harmony's is based on ICU
    // This suggests an RI bug, assuming that non-UTF8 bytes are UTF8 and
    // getting a conversion failure.
    assertEquals("NaN", dfs.getNaN());
    assertEquals(';', dfs.getPatternSeparator());
    assertEquals('‰', dfs.getPerMill());
    assertEquals('%', dfs.getPercent());
    assertEquals('0', dfs.getZeroDigit());
}
Also used : DecimalFormatSymbols(java.text.DecimalFormatSymbols)

Example 97 with DecimalFormatSymbols

use of java.text.DecimalFormatSymbols in project robovm by robovm.

the class DecimalFormatTest method test_exponentSeparator.

public void test_exponentSeparator() throws Exception {
    DecimalFormat df = new DecimalFormat("0E0");
    assertEquals("1E4", df.format(12345.));
    DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
    dfs.setExponentSeparator("-useless-api-");
    df.setDecimalFormatSymbols(dfs);
    assertEquals("1-useless-api-4", df.format(12345.));
}
Also used : DecimalFormatSymbols(java.text.DecimalFormatSymbols) DecimalFormat(java.text.DecimalFormat)

Example 98 with DecimalFormatSymbols

use of java.text.DecimalFormatSymbols in project robovm by robovm.

the class NumberFormatTest method test_numberLocalization.

public void test_numberLocalization() throws Exception {
    Locale arabic = new Locale("ar");
    NumberFormat nf = NumberFormat.getNumberInstance(arabic);
    assertEquals('٠', new DecimalFormatSymbols(arabic).getZeroDigit());
    assertEquals("١٢٣٤٥٦٧٨٩٠", nf.format(1234567890));
}
Also used : Locale(java.util.Locale) DecimalFormatSymbols(java.text.DecimalFormatSymbols) NumberFormat(java.text.NumberFormat)

Example 99 with DecimalFormatSymbols

use of java.text.DecimalFormatSymbols in project robovm by robovm.

the class DecimalFormatSymbolsTest method checkLocaleIsEquivalentToRoot.

private void checkLocaleIsEquivalentToRoot(Locale locale) {
    DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(locale);
    assertEquals(DecimalFormatSymbols.getInstance(Locale.ROOT), dfs);
}
Also used : DecimalFormatSymbols(java.text.DecimalFormatSymbols)

Example 100 with DecimalFormatSymbols

use of java.text.DecimalFormatSymbols in project robovm by robovm.

the class OldDecimalFormatTest method test_formatDLjava_lang_StringBufferLjava_text_FieldPosition.

public void test_formatDLjava_lang_StringBufferLjava_text_FieldPosition() {
    new Support_DecimalFormat("test_formatDLjava_lang_StringBufferLjava_text_FieldPosition").t_format_with_FieldPosition();
    int failCount = 0;
    BitSet failures = new BitSet();
    final DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US);
    DecimalFormat df = new DecimalFormat("00.0#E0", dfs);
    compare("00.0#E0: 0.0", df.format(0.0), "00.0E0");
    compare("00.0#E0: 1.0", df.format(1.0), "10.0E-1");
    compare("00.0#E0: 12.0", df.format(12.0), "12.0E0");
    compare("00.0#E0: 123.0", df.format(123.0), "12.3E1");
    compare("00.0#E0: 1234.0", df.format(1234.0), "12.34E2");
    compare("00.0#E0: 12346.0", df.format(12346.0), "12.35E3");
    compare("00.0#E0: 99999.0", df.format(99999.0), "10.0E4");
    compare("00.0#E0: 1.2", df.format(1.2), "12.0E-1");
    compare("00.0#E0: 12.3", df.format(12.3), "12.3E0");
    compare("00.0#E0: 123.4", df.format(123.4), "12.34E1");
    compare("00.0#E0: 1234.6", df.format(1234.6), "12.35E2");
    compare("00.0#E0: 9999.9", df.format(9999.9), "10.0E3");
    compare("00.0#E0: 0.1", df.format(0.1), "10.0E-2");
    compare("00.0#E0: 0.12", df.format(0.12), "12.0E-2");
    compare("00.0#E0: 0.123", df.format(0.123), "12.3E-2");
    compare("00.0#E0: 0.1234", df.format(0.1234), "12.34E-2");
    compare("00.0#E0: 0.12346", df.format(0.12346), "12.35E-2");
    compare("00.0#E0: 0.99999", df.format(0.99999), "10.0E-1");
    compare("00.0#E0: -0.0", df.format(-0.0), "-00.0E0");
    compare("00.0#E0: -1.0", df.format(-1.0), "-10.0E-1");
    compare("00.0#E0: -12.0", df.format(-12.0), "-12.0E0");
    compare("00.0#E0: -123.0", df.format(-123.0), "-12.3E1");
    compare("00.0#E0: -1234.0", df.format(-1234.0), "-12.34E2");
    compare("00.0#E0: -12346.0", df.format(-12346.0), "-12.35E3");
    compare("00.0#E0: -99999.0", df.format(-99999.0), "-10.0E4");
    df = new DecimalFormat("##0.0E0", dfs);
    compare("##0.0E0: -0.0", df.format(-0.0), "-0.0E0");
    compare("##0.0E0: 0.0", df.format(0.0), "0.0E0");
    compare("##0.0E0: 1.0", df.format(1.0), "1.0E0");
    compare("##0.0E0: 12.0", df.format(12.0), "12E0");
    // Android fails, here!
    compare("##0.0E0: 123.0", df.format(123.0), "123E0");
    compare("##0.0E0: 1234.0", df.format(1234.0), "1.234E3");
    compare("##0.0E0: 12346.0", df.format(12346.0), "12.35E3");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(99999.0), "100E3"))
        failures.set(failCount);
    failCount++;
    compare("##0.0E0: 999999.0", df.format(999999.0), "1.0E6");
    df = new DecimalFormat("#00.0##E0", dfs);
    compare("#00.0##E0: 0.1", df.format(0.1), "100E-3");
    compare("#00.0##E0: 0.12", df.format(0.12), "120E-3");
    compare("#00.0##E0: 0.123", df.format(0.123), "123E-3");
    compare("#00.0##E0: 0.1234", df.format(0.1234), "123.4E-3");
    compare("#00.0##E0: 0.1234567", df.format(0.1234567), "123.457E-3");
    compare("#00.0##E0: 0.01", df.format(0.01), "10.0E-3");
    compare("#00.0##E0: 0.012", df.format(0.012), "12.0E-3");
    compare("#00.0##E0: 0.0123", df.format(0.0123), "12.3E-3");
    compare("#00.0##E0: 0.01234", df.format(0.01234), "12.34E-3");
    compare("#00.0##E0: 0.01234567", df.format(0.01234567), "12.3457E-3");
    compare("#00.0##E0: 0.001", df.format(0.001), "1.00E-3");
    compare("#00.0##E0: 0.0012", df.format(0.0012), "1.20E-3");
    compare("#00.0##E0: 0.00123", df.format(0.00123), "1.23E-3");
    compare("#00.0##E0: 0.001234", df.format(0.001234), "1.234E-3");
    compare("#00.0##E0: 0.001234567", df.format(0.001234567), "1.23457E-3");
    compare("#00.0##E0: 0.0001", df.format(0.0001), "100E-6");
    compare("#00.0##E0: 0.00012", df.format(0.00012), "120E-6");
    compare("#00.0##E0: 0.000123", df.format(0.000123), "123E-6");
    compare("#00.0##E0: 0.0001234", df.format(0.0001234), "123.4E-6");
    compare("#00.0##E0: 0.0001234567", df.format(0.0001234567), "123.457E-6");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.0), "0.00E0"))
        failures.set(failCount);
    failCount++;
    compare("#00.0##E0: 1.0", df.format(1.0), "1.00E0");
    compare("#00.0##E0: 12.0", df.format(12.0), "12.0E0");
    compare("#00.0##E0: 123.0", df.format(123.0), "123E0");
    compare("#00.0##E0: 1234.0", df.format(1234.0), "1.234E3");
    compare("#00.0##E0: 12345.0", df.format(12345.0), "12.345E3");
    compare("#00.0##E0: 123456.0", df.format(123456.0), "123.456E3");
    compare("#00.0##E0: 1234567.0", df.format(1234567.0), "1.23457E6");
    compare("#00.0##E0: 12345678.0", df.format(12345678.0), "12.3457E6");
    compare("#00.0##E0: 99999999.0", df.format(99999999.0), "100E6");
    df = new DecimalFormat("#.0E0", dfs);
    compare("#.0E0: -0.0", df.format(-0.0), "-.0E0");
    compare("#.0E0: 0.0", df.format(0.0), ".0E0");
    compare("#.0E0: 1.0", df.format(1.0), ".1E1");
    compare("#.0E0: 12.0", df.format(12.0), ".12E2");
    compare("#.0E0: 123.0", df.format(123.0), ".12E3");
    compare("#.0E0: 1234.0", df.format(1234.0), ".12E4");
    compare("#.0E0: 9999.0", df.format(9999.0), ".1E5");
    df = new DecimalFormat("0.#E0", dfs);
    compare("0.#E0: -0.0", df.format(-0.0), "-0E0");
    compare("0.#E0: 0.0", df.format(0.0), "0E0");
    compare("0.#E0: 1.0", df.format(1.0), "1E0");
    compare("0.#E0: 12.0", df.format(12.0), "1.2E1");
    compare("0.#E0: 123.0", df.format(123.0), "1.2E2");
    compare("0.#E0: 1234.0", df.format(1234.0), "1.2E3");
    compare("0.#E0: 9999.0", df.format(9999.0), "1E4");
    df = new DecimalFormat(".0E0", dfs);
    compare(".0E0: -0.0", df.format(-0.0), "-.0E0");
    compare(".0E0: 0.0", df.format(0.0), ".0E0");
    compare(".0E0: 1.0", df.format(1.0), ".1E1");
    compare(".0E0: 12.0", df.format(12.0), ".1E2");
    compare(".0E0: 123.0", df.format(123.0), ".1E3");
    compare(".0E0: 1234.0", df.format(1234.0), ".1E4");
    compare(".0E0: 9999.0", df.format(9999.0), ".1E5");
    df = new DecimalFormat("0.E0", dfs);
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.0), "0.E0"))
        failures.set(failCount);
    failCount++;
    if (!compare(failCount, df.format(1.0), "1.E0"))
        failures.set(failCount);
    failCount++;
    if (!compare(failCount, df.format(12.0), "1.E1"))
        failures.set(failCount);
    failCount++;
    if (!compare(failCount, df.format(123.0), "1.E2"))
        failures.set(failCount);
    failCount++;
    if (!compare(failCount, df.format(1234.0), "1.E3"))
        failures.set(failCount);
    failCount++;
    if (!compare(failCount, df.format(9999.0), "1.E4"))
        failures.set(failCount);
    failCount++;
    df = new DecimalFormat("##0.00#E0", dfs);
    compare("##0.00#E0: 0.1", df.format(0.1), "100E-3");
    compare("##0.00#E0: 0.1234567", df.format(0.1234567), "123.457E-3");
    compare("##0.00#E0: 0.9999999", df.format(0.9999999), "1.00E0");
    compare("##0.00#E0: 0.01", df.format(0.01), "10.0E-3");
    compare("##0.00#E0: 0.01234567", df.format(0.01234567), "12.3457E-3");
    compare("##0.00#E0: 0.09999999", df.format(0.09999999), "100E-3");
    compare("##0.00#E0: 0.001", df.format(0.001), "1.00E-3");
    compare("##0.00#E0: 0.001234567", df.format(0.001234567), "1.23457E-3");
    compare("##0.00#E0: 0.009999999", df.format(0.009999999), "10.0E-3");
    compare("##0.00#E0: 0.0001", df.format(0.0001), "100E-6");
    compare("##0.00#E0: 0.0001234567", df.format(0.0001234567), "123.457E-6");
    compare("##0.00#E0: 0.0009999999", df.format(0.0009999999), "1.00E-3");
    df = new DecimalFormat("###0.00#E0", dfs);
    compare("###0.00#E0: 0.1", df.format(0.1), "1000E-4");
    compare("###0.00#E0: 0.12345678", df.format(0.12345678), "1234.568E-4");
    compare("###0.00#E0: 0.99999999", df.format(0.99999999), "1.00E0");
    compare("###0.00#E0: 0.01", df.format(0.01), "100E-4");
    compare("###0.00#E0: 0.012345678", df.format(0.012345678), "123.4568E-4");
    compare("###0.00#E0: 0.099999999", df.format(0.099999999), "1000E-4");
    compare("###0.00#E0: 0.001", df.format(0.001), "10.0E-4");
    compare("###0.00#E0: 0.0012345678", df.format(0.0012345678), "12.34568E-4");
    compare("###0.00#E0: 0.0099999999", df.format(0.0099999999), "100E-4");
    compare("###0.00#E0: 0.0001", df.format(0.0001), "1.00E-4");
    compare("###0.00#E0: 0.00012345678", df.format(0.00012345678), "1.234568E-4");
    compare("###0.00#E0: 0.00099999999", df.format(0.00099999999), "10.0E-4");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.00001), "1000E-8"))
        failures.set(failCount);
    failCount++;
    compare("###0.00#E0: 0.000012345678", df.format(0.000012345678), "1234.568E-8");
    compare("###0.00#E0: 0.000099999999", df.format(0.000099999999), "1.00E-4");
    df = new DecimalFormat("###0.0#E0", dfs);
    compare("###0.0#E0: 0.1", df.format(0.1), "1000E-4");
    compare("###0.0#E0: 0.1234567", df.format(0.1234567), "1234.57E-4");
    compare("###0.0#E0: 0.9999999", df.format(0.9999999), "1.0E0");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.01), "100E-4"))
        failures.set(failCount);
    failCount++;
    compare("###0.0#E0: 0.01234567", df.format(0.01234567), "123.457E-4");
    compare("###0.0#E0: 0.09999999", df.format(0.09999999), "1000E-4");
    compare("###0.0#E0: 0.001", df.format(0.001), "10E-4");
    compare("###0.0#E0: 0.001234567", df.format(0.001234567), "12.3457E-4");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.009999999), "100E-4"))
        failures.set(failCount);
    failCount++;
    compare("###0.0#E0: 0.0001", df.format(0.0001), "1.0E-4");
    compare("###0.0#E0: 0.0001234567", df.format(0.0001234567), "1.23457E-4");
    compare("###0.0#E0: 0.0009999999", df.format(0.0009999999), "10E-4");
    // Fails in JDK 1.2.2
    if (!compare(failCount, df.format(0.00001), "1000E-8"))
        failures.set(failCount);
    failCount++;
    compare("###0.0#E0: 0.00001234567", df.format(0.00001234567), "1234.57E-8");
    compare("###0.0#E0: 0.00009999999", df.format(0.00009999999), "1.0E-4");
    assertTrue("Failed " + failures + " of " + failCount, failures.length() == 0);
    String formatString = "##0.#";
    df = new DecimalFormat(formatString, dfs);
    df.setMinimumFractionDigits(30);
    compare(formatString + ": 0.000000000000000000000000000000", df.format(0.0), "0.000000000000000000000000000000");
    compare(formatString + ": -0.000000000000000000000000000000", df.format(-0.0), "-0.000000000000000000000000000000");
    compare(formatString + ": 1.000000000000000000000000000000", df.format(1.0), "1.000000000000000000000000000000");
    compare(formatString + ": -1.000000000000000000000000000000", df.format(-1.0), "-1.000000000000000000000000000000");
    df = new DecimalFormat(formatString);
    df.setMaximumFractionDigits(30);
    compare(formatString + ": 0", df.format(0.0), "0");
    compare(formatString + ": -0", df.format(-0.0), "-0");
    compare(formatString + ": 1", df.format(1.0), "1");
    compare(formatString + ": -1", df.format(-1.0), "-1");
}
Also used : DecimalFormatSymbols(java.text.DecimalFormatSymbols) Support_DecimalFormat(tests.support.Support_DecimalFormat) DecimalFormat(java.text.DecimalFormat) BitSet(java.util.BitSet) Support_DecimalFormat(tests.support.Support_DecimalFormat)

Aggregations

DecimalFormatSymbols (java.text.DecimalFormatSymbols)127 DecimalFormat (java.text.DecimalFormat)88 NumberFormat (java.text.NumberFormat)14 Locale (java.util.Locale)13 ParseException (java.text.ParseException)8 Currency (java.util.Currency)7 ObjectInputStream (java.io.ObjectInputStream)6 BigDecimal (java.math.BigDecimal)6 Test (org.junit.Test)6 IOException (java.io.IOException)5 ParsePosition (java.text.ParsePosition)5 BufferedChecksumIndexInput (org.apache.lucene.store.BufferedChecksumIndexInput)5 ChecksumIndexInput (org.apache.lucene.store.ChecksumIndexInput)5 IndexInput (org.apache.lucene.store.IndexInput)5 BytesRefBuilder (org.apache.lucene.util.BytesRefBuilder)5 ByteArrayInputStream (java.io.ByteArrayInputStream)4 ByteArrayOutputStream (java.io.ByteArrayOutputStream)4 ObjectOutputStream (java.io.ObjectOutputStream)4 BytesRef (org.apache.lucene.util.BytesRef)4 ArrayList (java.util.ArrayList)3