相关疑难解决方法(0)

如何使用逗号作为千位分隔符在JavaScript中打印数字

我试图用逗号作为千位分隔符在JavaScript中打印一个整数.例如,我想将数字1234567显示为"1,234,567".我该怎么做呢?

我是这样做的:

function numberWithCommas(x) {
    x = x.toString();
    var pattern = /(-?\d+)(\d{3})/;
    while (pattern.test(x))
        x = x.replace(pattern, "$1,$2");
    return x;
}
Run Code Online (Sandbox Code Playgroud)

有更简单或更优雅的方式吗?如果它也适用于浮点数会很好,但这不是必需的.它不需要特定于语言环境来决定句点和逗号.

javascript formatting numbers

1589
推荐指数
34
解决办法
105万
查看次数

如何将身体中的数字替换为波斯数字?

我想将html内容上的每个数字转换为波斯数字而不影响页面元素.

例如:

<div style='color: #c2c2c2'>
  text number 1
  <span>text number 2</span>
  <div>
    text number 3
    <b>text number 4</b>
    <a href='#page2'>text number 5</a>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

转换成 :

  <div style='color: #c2c2c2'>
  text number ?
  <span>text number ?</span>
  <div>
    text number ?
    <b>text number ?</b>
    <a href='#page2'>text number ?</a>
   </div>
</div>

persian = array('?', '?', '?', '?', '?', '?', '?', '?', '?', '?');
english = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
Run Code Online (Sandbox Code Playgroud)

谢谢.

html javascript jquery

25
推荐指数
4
解决办法
1万
查看次数

在Unicode中,为什么阿拉伯数字有两种表示形式?

我正在阅读Unicode @ Wikipedia(阿拉伯语Unicode)的规范,我看到每个阿拉伯数字都有2个Unicode代码点.例如,1定义为U + 0661和U + 06F1.

我应该使用哪一个?

unicode arabic

18
推荐指数
1
解决办法
4263
查看次数

桌面应用中的数字本地化

在Unicode的十进制数字类别中,定义了460个十进制字符(有关示例,请参阅此页面).不幸的是,无论外观如何,我找不到任何代表数字的字符.结果,目前只有西方阿拉伯数字字符被大多数软件理解为数字.因此,您无法在MS Excel中输入其他数字字符.

各种书写系统中的数字表

如果Unicode(至少)10个数字0到9的代码作为纯数字而不是字形,我们几乎可以在所有正常使用中使用它们,并且主机环境可以根据用户的语言环境显示本地化的数字字形.当我们想要将数字字形作为字符串使用时,我们也可以使用460个十进制Unicode数字中的任何一个.

另一方面,如果我们接受当前字符U + 0030到u + 0039作为纯数字,那么我们需要十个新字符用于西方阿拉伯数字.这种实现似乎也更向后兼容.字符U + 0030到U + 0039的名称也不是指任何特定数字的外观.

显然,我们可以在应用程序中对所有460个十进制数字字符进行硬编码,并在内部将它们视为数字,但我正在寻找更合适的解决方案.如果我们还考虑包含罗马和旧波斯数字的224 + 464个其他Unicode数字字符(Nl类别+无类别),则问题会变得更加复杂.

我们如何通过OS范围的解决方案解决这个问题?

另请参阅Web应用程序中的Numbers本地化

unicode localization numbers desktop-application character

8
推荐指数
2
解决办法
1516
查看次数