首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NumberFormat不能作为系统区域设置的一千分隔符吗?

问NumberFormat不能作为系统区域设置的一千分隔符吗?
EN

Stack Overflow用户
提问于 2018-03-26 15:47:27
回答 1查看 56关注 0票数 0
代码语言:javascript
复制
// above onCreate
private DecimalFormat decimalFormat =(DecimalFormat) 
NumberFormat.getInstance();

// inside my textWatcher

String[] splitted = originalString.split("((?<=[-+x÷])|(?=[-+.x÷]))");

                StringBuilder formatted = new StringBuilder();

                for (String word : splitted) {
                    try {
                        BigInteger num = new BigInteger(word);
                        formatted.append(decimalFormat.format(num));

                    } catch (NumberFormatException e) {
                        formatted.append(word);
                    }
                }

我把一个数字作为字符串变量,当我在尼泊尔语言中使用时,我想用千分隔符如2345678显示为23,45,678。糟糕的是,代码的工作方式类似于2345678版的२,३४५,६७८。

令人惊讶的是,这适用于印地语作为系统语言环境,可以显示23,45,678。为什么不是尼泊尔语呢??

EN

回答 1

Stack Overflow用户

发布于 2018-03-26 15:54:28

尝试以下代码:

代码语言:javascript
复制
<NumberFormat thousandSeperator="." decimalSeperator="," onKeyDown = {(e) => 
{
const {key, target} = e;
const {selectionStart, value} = target;
if (key === '.') {
 e.preventDefault();
 target.value = `${value.substr(0, 
 selectionStart)},${value.substr(selectionStart, value.length)}`; 
  }
 }}/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49486396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档