Я пытаюсь проверить, содержится ли строка (фильтр) в другой строке (formattedAmount), то есть фильтрует подстроку formattedAmount.Equals() и indexOf() не работают, как я ожидал бы с помощью NumberFormat
Я не мог заставить его работать, поэтому я просто изменил код, чтобы использовать «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?
Благодаря
Вы действительно попытались напечатать переменную formattedAmount и посмотреть, что вы получаете? – Tudor
У меня есть Тюдор, он печатает 333 333,44, как я ожидал. –
@ Томас Бакли: Как я и подозревал, четвертый персонаж действительно не космос, а что-то еще. – Tudor