Equals () и indexOf () работают не так, как я ожидал, используя NumberFormat

Я пытаюсь проверить, содержится ли строка (фильтр) в другой строке (formattedAmount), т.е. фильтрует ли подстроку formattedAmount.

Мне не удалось заставить его работать, поэтому я просто изменил код, чтобы использовать «equals ()» вместо «indexOf ()», просто для упрощения тестирования. Метод equals, похоже, тоже не работает так, как я ожидал.

Вот фиктивный сценарий, который я написал, который копирует то, что я пытаюсь сделать:

import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.Locale;


public class utils
{

    public utils()
    {
    }

    public static void main(String[] args) throws Exception 
    {   
        String filter = "333 333,44";
        Number amount = new BigDecimal(333333.44);

        NumberFormat nf = NumberFormat.getNumberInstance(Locale.FRANCE);
        nf.setMinimumFractionDigits(2);

        String formattedAmount = nf.format(amount);

        if (formattedAmount.equals(filter)) 
        {
            System.out.println("Working");
            }
    }
}

Есть идеи, почему он не входит в оператор If?

Спасибо

5
задан Thomas Buckley 25 January 2012 в 17:28
поделиться