Nie rozumiem czegoś w NumberFormat, w US locale należy traktować przecinek (",") jako separator grup - na tysiące.Java NumberFormat ignorowanie przecinka w locale w USA?
Dlaczego ignoruje przecinki w niewłaściwych miejscach dla tych ustawień narodowych?
NumberFormat format = DecimalFormat.getInstance(Locale.US);
System.out.println(format.parse("5,500").longValue()); //5500
System.out.println(format.parse("550,0").longValue()); //5500
System.out.println(format.parse("5500,").longValue()); //5500
jakieś inne pomysły jak analizować ciąg do Longa według lokalizacji (asumming że wejście „” w niewłaściwych miejscach dla lokalizacji powinna fail)?
Co masz na myśli mówiąc "nieprawidłowe miejsce"? Wszystkie stwierdzenia na twoim przykładzie są prawidłowe. –
Wypróbuj 'format.setGroupingUsed (true)'. Czy to robi różnicę? – Puce
@Puce: Domyślnym ustawieniem jest 'true' dla' Locale.US'. – Keppil