Как сохранить значение Double (1000) в требуемом формате валюты? - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно передать сумму тарифа на платежный шлюз. Это работало хорошо в условиях английского языка. В то время как я изменил язык на бирманский, он меняется следующим образом 000000၁၀၀၀၀၀ , поэтому я получаю недопустимую сумму. Даже если я установил валюту как Locale.English.But, это не сработало.

Ваш ответ более ценен !!!

 try {
            NumberFormat nf = NumberFormat.getInstance(Locale.ENGLISH);
            return nf.parse(s).doubleValue();
        } catch (java.text.ParseException e) {
            e.printStackTrace();
            return 0.0;
        }

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете сделать это,

//calling of method
String your_amount= setCurrencyFormat(your_string);



private String setCurrencyFormat(String amt) {


        if (amt.equals("null") || amt.equals("")) {
            amt = "0";
        }

        double amount = Double.parseDouble(amt);


        //here i have done it for Indian currency i.e "in" you can opt for other countries currency

        Format formatter = NumberFormat.getCurrencyInstance(new Locale("en", "in"));
        return formatter.format(amount);


    }

Примечание: Я получаю мою сумму в строковом формате, вы можете перевести сумму в строку, если она в целочисленном формате

...