将 formatCurrency (印尼盾) 转换为 int

Posted

技术标签:

【中文标题】将 formatCurrency (印尼盾) 转换为 int【英文标题】:Convert formatCurrency (rupiah) to int 【发布时间】:2022-01-20 12:19:12 【问题描述】:

这里我有一个这样的方法:

// method currency format
    private String formatRupiah(Double number) 
        Locale locale = new Locale("IND", "ID");
        NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);
        String formatRupiah = numberFormat.format(number);
        String[] split = formatRupiah.split(",");
        int length = split[0].length();
        String formatRupiahString = split[0].substring(0, 2) + " " + split[0].substring(2, length);
        return formatRupiahString;
    

还有这个方法可以将编辑文本中的文本改成货币格式:

private void editTextToFormatCurrency() 
        etJumlah.addTextChangedListener(new TextWatcher() 

            private String jumlahFormat = Objects.requireNonNull(etJumlah.getText()).toString().trim();

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) 

            

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) 
                if (!s.toString().equals(jumlahFormat)) 
                    etJumlah.removeTextChangedListener(this);
                    String replace = s.toString().replaceAll("[Rp. ]", "");
                    if (!replace.isEmpty()) 
                        jumlahFormat = formatRupiah(Double.parseDouble(replace));
                     else 
                        jumlahFormat = "";
                    
                    etJumlah.setText(jumlahFormat);
                    etJumlah.setSelection(jumlahFormat.length());
                    etJumlah.addTextChangedListener(this);
                
            

            @Override
            public void afterTextChanged(Editable s) 

            
        );
    

现在我的问题是如何在没有格式货币的情况下更改 TextToFormatCurrencycto int 或 Integer ? 我改回 Integer 或 int 的目标是,我可以使用数据类型编号上传到 Firestore。

【问题讨论】:

【参考方案1】:

答案是: https://www.youtube.com/watch?v=TdgQW8T-KeQ&t(这是我的视频)https://www.youtube.com/watch?v=NQOK2cam3js&t(这是我的灵感视频)

String jumlahString = Objects.requireNonNull(String.valueOf(layoutJumlah.getEditText().getText()));
jumlahString = jumlahString.replaceAll("[^0-9]", "");
jumlah = Integer.parseInt(jumlahString);

【讨论】:

请不要误用答案来宣传您的视频;而是用文字写出答案。您可能参考视频以获取更多信息,但不要将其用作主要答案。

以上是关于将 formatCurrency (印尼盾) 转换为 int的主要内容,如果未能解决你的问题,请参考以下文章

从 formatCurrency 中删除货币符号

中国为印尼建设的高铁顺利推进,印度网友与日本网友就高铁互怼

印尼秒杀系统

腾讯云音视频助力印尼在线招聘平台KUPU升级面试体验,视频上传速度提升超60%

AWS在印度尼西亚开设新区域

焦点|印尼成为下一个人工智能初创中心的潜力