首页 > 解决方案 > 使用 toLocaleString() 时,React Native 不使用千位分隔符 (,) 格式化数字

问题描述

使用 toLocaleString('en-us') 时,React Native 不会使用“,”将大数字格式化为千位分隔符。在 Android 和 iOS 版本上都观察到相同的问题。

我正在为 Android 和 iOS 开发一个简单的计算器应用程序。我之前为 web(纯 javaScript)创建了一个类似的模型并使其工作。但是,由于我将它移植到 React Native,结果计算将不再有千位分隔符。我的 React Native 演示可以在这里找到:

https://snack.expo.io/@leourushi/calculator-tolocalestring

我的计算函数的一个例子:

text1: ( b/ ((c/100) + 1) ).toLocaleString('en-US')  

如您所见,我在计算结束时添加了 toLocaleString() 方法。但是当返回结果时,它不会有“,”作为千位分隔符。

React Native 不支持 toLocaleString() 函数吗?

标签: react-nativenumbers

解决方案


正如我在这里回答的那样https://stackoverflow.com/a/63750685/7124240您可以更改 JSC 的构建风格

替换android/app/build.gradle文件中的这一行

def jscFlavor = 'org.webkit:android-jsc:+'

用这条线

def jscFlavor = 'org.webkit:android-jsc-intl:+'

推荐阅读