Skip to content

Commit b8523bc

Browse files
committed
docs(stdlib): edit Number/toLocalString()
1 parent ae4e9cf commit b8523bc

File tree

1 file changed

+38
-3
lines changed

1 file changed

+38
-3
lines changed

docs/stdlib/number.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ Number.MIN_SAFE_INTEGER // -9007199254740991
144144

145145
### Number.prototype.toPrecision()
146146

147-
`toPrecision`方法用于将一个数转为指定位数的有效数字。
147+
`Number.prototype.toPrecision()`方法用于将一个数转为指定位数的有效数字。
148148

149149
```javascript
150150
(12.34).toPrecision(1) // "1e+1"
@@ -154,9 +154,9 @@ Number.MIN_SAFE_INTEGER // -9007199254740991
154154
(12.34).toPrecision(5) // "12.340"
155155
```
156156

157-
`toPrecision`方法的参数为有效数字的位数,范围是1到21,超出这个范围会抛出 RangeError 错误。
157+
该方法的参数为有效数字的位数,范围是1到21,超出这个范围会抛出 RangeError 错误。
158158

159-
`toPrecision`方法用于四舍五入时不太可靠,跟浮点数不是精确储存有关。
159+
该方法用于四舍五入时不太可靠,跟浮点数不是精确储存有关。
160160

161161
```javascript
162162
(12.35).toPrecision(3) // "12.3"
@@ -165,6 +165,41 @@ Number.MIN_SAFE_INTEGER // -9007199254740991
165165
(12.45).toPrecision(3) // "12.4"
166166
```
167167

168+
### Number.prototype.toLocaleString()
169+
170+
`Number.prototype.toLocaleString()`方法接受一个地区码作为参数,返回一个字符串,表示当前数字在该地区的当地书写形式。
171+
172+
```javascript
173+
(123).toLocaleString('zh-Hans-CN-u-nu-hanidec')
174+
// "一二三"
175+
```
176+
177+
该方法还可以接受第二个参数配置对象,用来定制指定用途的返回字符串。该对象的`style`属性指定输出样式,默认值是`decimal`,表示输出十进制形式。如果值为`percent`,表示输出百分数。
178+
179+
```javascript
180+
(123).toLocaleString('zh-Hans-CN', { style: 'persent' })
181+
// "12,300%"
182+
```
183+
184+
如果`style`属性的值为`currency`,则可以搭配`currency`属性,输出指定格式的货币字符串形式。
185+
186+
```javascript
187+
(123).toLocaleString('zh-Hans-CN', { style: 'currency', currency: 'CNY' })
188+
// "¥123.00"
189+
190+
(123).toLocaleString('de-DE', { style: 'currency', currency: 'EUR' })
191+
// "123,00 €"
192+
193+
(123).toLocaleString('en-US', { style: 'currency', currency: 'USD' })
194+
// "$123.00"
195+
```
196+
197+
如果`Number.prototype.toLocaleString()`省略了参数,则由浏览器自行决定如何处理,通常会使用操作系统的地区设定。注意,该方法如果使用浏览器不认识的地区码,会抛出一个错误。
198+
199+
```javascript
200+
(123).toLocaleString('123') // 出错
201+
```
202+
168203
## 自定义方法
169204

170205
与其他对象一样,`Number.prototype`对象上面可以自定义方法,被`Number`的实例继承。

0 commit comments

Comments
 (0)