Estoy intentando verificar si una cadena (filtro) está contenida en otra cadena (formattedAmount), es decir, está filtrando una subcadena de formattedAmount.Equals() y indexOf() no funcionan como esperaba usando NumberFormat
No pude hacer que funcione, así que acabo de cambiar el código para usar "equals()" en lugar de "indexOf()", simplemente para simplificar las pruebas. El método igual no parece funcionar como yo esperaría tampoco.
Aquí es un guión ficticio escribí que replica lo que yo estoy tratando de hacer:
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");
}
}
}
alguna idea de por qué no está entrando en la instrucción If?
Gracias
¿De verdad ha intentado imprimir la variable FormatAmunt y ver qué obtiene? – Tudor
Tengo Tudor, imprime 333 333,44 como era de esperar. –
@Thomas Buckley: Como sospechaba, el cuarto personaje no es espacio, sino algo más. – Tudor