Change DecimalFormat locale

前端 未结 6 1236
面向向阳花
面向向阳花 2020-12-14 07:02

I have custom DecimalFormat in Edittext\'s addTextChangedListener method, everything is working perfectly but when I change language (locale) my addTextChanged

6条回答
  •  失恋的感觉
    2020-12-14 07:54

    Use simply this method to convert current localization wise number,

    public static String currencyFormatter(String balance) {
        try {
            double amount = Double.parseDouble(balance);
            DecimalFormat decimalFormat = new DecimalFormat("##,##,##,###.##");
            DecimalFormat locationSpecificDF = null;
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
                locationSpecificDF = (DecimalFormat) DecimalFormat.getNumberInstance(Locale.forLanguageTag("bn")); // Ex. en, bn etc.
            } else {
                return decimalFormat.format(amount);
            }
            return locationSpecificDF.format(amount);
        } catch (Exception e) {
            return balance;
        }
    }
    

    or follow this link.

提交回复
热议问题