tolocalestring()和tostring()的区别用法

toLocaleString() 返回一个字符串表示数组中的元素。数组中的元素将使用各自的 toLocaleString 方法转成字符串,这些字符串将使用一个特定语言环境的字符串(例如一个逗号 ",")隔开。

arr.toLocaleString([locales[,options]]);

locales 可选

带有BCP 47语言标记的字符串或字符串数组,关于locales参数的形式与解释,请看Intl页面。

options 可选

一个可配置属性的对象,对于数字 Number.prototype.toLocaleString(),对于日期Date.prototype.toLocaleString().

包含一些或所有的下面属性的类:

  • “decimal” 用于纯数字格式;
  • “currency” 用于货币格式;
  • “percent” 用于百分比格式;
  • “unit”   用于单位格式

一,用在数组转字符串时,tolocalestring()和tostring()并无分别

let arr = [1,2,3,4,5,6,7,8,9,0];
console.log(arr.toString());
console.log(arr.toLocaleString());

//1,2,3,4,5,6,7,8,9,0
//1,2,3,4,5,6,7,8,9,0

二,在数字转字符串时的应用

1,千分位

let num = 123456789;
console.log(num.toString());
console.log(num.toLocaleString());

//123456789
//123,456,789

2,货币

let num = 123456789
num.toLocaleString('zh',{style:'currency'});     //  报错

值为 currency 时必须同时指定 options 中的 currency 属性,否则会报错

currency 指定对应的货币,比如 USDEURCNY (不区分大小写)

currencyDisplay 货币符号的展示样式,默认值是 symbol ,即对应的符号,如 CNY 是 ¥ ,该属性也可以设置为 codename

let num = 123456789;
console.log(num.toLocaleString('zh',{style:'currency' , currency:'CNY' }));
console.log(num.toLocaleString('zh', { style: 'currency', currency: 'cny', currencyDisplay: 'code' }));
console.log(num.toLocaleString('zh', { style: 'currency', currency: 'cny', currencyDisplay: 'name' }));


//¥123,456,789.00
//CNY 123,456,789.00
//123,456,789.00人民币

3,控制有效数字的位数

let num = 123456.789;
console.log(num.toLocaleString('zh', { minimumSignificantDigits: 11, useGrouping: false }));
console.log(num.toLocaleString('zh', { maximumSignificantDigits: 4, useGrouping: false }));


//123456.78900
//123500

4,把阿拉伯数字转成中文数字

let num = 1;
let num2 = 12;
console.log(num.toLocaleString('zh-u-nu-hanidec'));
console.log(num2.toLocaleString('zh-u-nu-hanidec'));

//一
//一二

5,转百分百

let num = 0.45;
console.log(num.toLocaleString('zh',{style:'percent'}));

//45%

三,在日期上的应用

1,hour12 表示的是使用十二小时制还是使用二十四小时制,默认值是十二小时制

let date = new Date();
console.log(date.toLocaleString('zh', { hour12: true }));
console.log(date.toLocaleString('zh', { hour12: false }));

//2021/8/1下午9:55:00
//2021/8/121:55:00

2,weekdayera (即‘公元’)

let date = new Date();
console.log(date.toLocaleString('en', { weekday: 'narrow', era: 'narrow' }));
console.log(date.toLocaleString('en', { weekday: 'short', era: 'short' }));
console.log(date.toLocaleString('en', { weekday: 'long', era: 'long' }));

//A S
//AD Sun
//Anno Domini Sunday

3,timeZoneName

let date = new Date();
console.log(date.toLocaleString('zh', { timeZoneName: 'short' })); 
console.log(date.toLocaleString('zh', { timeZoneName: 'long' }));

//2021/8/1GMT+8 下午10:01:12
//2021/8/1GMT+08:00 下午10:01:12

4,numeric2-digit

let date = new Date();
console.log(date.toLocaleString('zh', { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', }));
console.log(date.toLocaleString('zh', { year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }));
console.log(date.toLocaleString('zh', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }));

//2021/8/1下午10:05:55
//21/08/01下午10:05:55
//2021/08/01下午10:05:55

5,month除了numeric2-digit 外还有narrowshortlong

let date = new Date();
console.log(date.toLocaleString('en', { month: 'narrow' }));
console.log(date.toLocaleString('en', { month: 'short' }));
console.log(date.toLocaleString('en', { month: 'long' }));


//A
//Aug
//August

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值