Number.toLocalString() js
语法
numObj.toLocaleString([locales [, options]])
参数
查阅浏览器兼容性部分,了解哪些浏览器支持 locales 和 options 参数,通过示例: 检查 locales 和 options 参数的支持了解特征检测。
注意: ECMAScript 国际化 API,在 Firefox 29 中得以实施,增加了 locales 参数的 Number.toLocaleString 方法。如果参数为 undefined,此方法返回本地操作系统指定的位数,而 Firefox 的早期版本中返回阿拉伯语数字。这一变化已被报告为向后影响的兼容性问题并可能会被尽快修复。(bug 999003)
locales-
可选.缩写语言代码(BCP 47 language tag,例如:cmn-Hans-CN)的字符串或者这些字符串组成的数组. 关于参数locales的一般形式和解释请参见Intl page. 下面的这些Unicode扩展键也是被允许的:
译者注:下面扩展的使用方式是language[-scripts][-region]-u-nu-*,例如:zh-u-nu-hanidec(表示中文十进制数字)
nu- 要使用的编号系统。可能的值有:
"arab","arabext","bali","beng","deva","fullwide","gujr","guru","hanidec"(中文十进制数字),"khmr","knda","laoo","latn","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt".
options-
可选. 包含一些或所有的下面属性的类:
localeMatcher- 使用的local的匹配算法. 可能的值有"lookup"和"best fit"; 默认值是
"best fit". 有关此选项的信息, 请参见Intl page. style- 格式化时使用的样式.可能的值有“decimal”表示纯数字格式 , “currency”表示货币格式, 和
"percent"表示百分比格式; 默认值是"decimal". currency- 在货币格式化中使用的货币符号. 可能的值是ISO的货币代码 (the ISO 4217 currency codes,) 例如
"USD"表示美元,"EUR"表示欧元, or"CNY"是人民币— 更多请参考 Current currency & funds code list. 没有默认值,如果样式是“currency”,必须提供货币属性. currencyDisplay- 如何在货币格式化中显示货币. 可能的值有
"symbol"表示使用本地化的货币符号例如€,"code"表示使用国际标准组织货币代码,"name"表示使用本地化的货币名称,如"dollar"; 默认值是"symbol". useGrouping- 是否使用分组分隔符,如千位分隔符或千/万/亿分隔符.可能的值是true和false,默认值是true.
下面的属性分为两组:minimumintegerdigits,minimumfractiondigits,maximumfractiondigits作为一组,minimumsignificantdigits和maximumsignificantdigits作为一组.如果定义了第二组中的任意一个属性,则忽略第一组的设置.
minimumIntegerDigits- 使用的整数数字的最小数目.可能的值是从1到21,默认值是1.
minimumFractionDigits- 使用的小数位数的最小数目.可能的值是从0到20;默认为普通的数字和百分比格式为0;默认为货币格式是由国际标准化组织列表( ISO 4217 currency code list )提供(如果列表中没有提供则值为2).
maximumFractionDigits- 使用的小数位数的最大数目。可能的值是从0到20;纯数字格式的默认值是minimumfractiondigits和3中大的那一个;货币格式默认值是minimumfractiondigits和国际标准化组织列表(如果列表中没有提供则值为2)中大的那一个;百分比格式默认值是minimumfractiondigits和0中大的那一个。
minimumSignificantDigits- 使用的有效数字的最小数目。可能的值是从1到21;默认值是1。
maximumSignificantDigits- 使用的有效数字的最大数量。可能的值是从1到21;默认是minimumsignificantdigits.
返回值
返回一个语言环境下的表示字符串。
示例
使用 toLocaleString
在没有指定区域的基本使用时,返回使用默认的语言环境和默认选项格式化的字符串。
var number = 3500;
console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale
检查 locales 和 options 参数的支持
locales 和 options 参数目前还不是所有浏览器都支持的。在 ES5.1 和更新的实现中检查支持情况,可以依靠使用非法参数时规定抛出的 RangeError 异常:
function toLocaleStringSupportsLocales() {
var number = 0;
try {
number.toLocaleString('i');
} catch (e) {
return e.name === 'RangeError';
}
return false;
}
早于 ES5.1 的实现中,如果带参数调用 toLocaleString 并不会抛出范围异常。
在所有宿主环境下,包括那些支持比 ed 5.1 还早的 ECMA-262 的环境,都能有效检测的方法是直接检测 ECMA-402 中的其它特性,它指定 Number.prototype.toLocaleString 需要支持地区选项:
function toLocaleStringSupportsOptions() {
return !!(typeof Intl == 'object' && Intl && typeof Intl.NumberFormat == 'function');
}
它测试全局的 Intl 对象,检测它不是 null 并且有 NumberFormat 的方法。
使用 locales
这个示例展示了不同地区数字格式的差异。为了设置你的应用程序界面下使用的语言格式,请确保使用 locales 参数指定了使用的语言(可能还有一些备用语言):
var number = 123456.789;
// 德国使用逗号作为小数分隔符,分位周期为千位
console.log(number.toLocaleString('de-DE'));
// → 123.456,789
// 在大多数阿拉伯语国家使用阿拉伯语数字
console.log(number.toLocaleString('ar-EG'));
// → ١٢٣٤٥٦٫٧٨٩
// 印度使用千位/拉克(十万)/克若尔(千万)分隔
console.log(number.toLocaleString('en-IN'));
// → 1,23,456.789
// nu 扩展字段要求编号系统,e.g. 中文十进制
console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
// → 一二三,四五六.七八九
// 当请求不支持的语言时,例如巴厘语,加入一个备用语言,比如印尼语
console.log(number.toLocaleString(['ban', 'id']));
// → 123.456,789
使用 options
通过 toLocaleString 返回的结果可以通过 options 参数进行定制:
var number = 123456.789;
// 要求货币格式
console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
// → 123.456,79 €
// 日元不使用小数位
console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
// → ¥123,457
// 限制三位有效数字
console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
// → 1,23,000
Number.toLocalString() js的更多相关文章
- how to check a var whether is number in js
how to check a var whether is number in js js check var is number Number.isInteger(NaN) false Number ...
- js 中的 number 为何很怪异
js 中的 number 为何很怪异 声明:需要读者对二进制有一定的了解 对于 JavaScript 开发者来说,或多或少都遇到过 js 在处理数字上的奇怪现象,比如: > 0.1 + 0.2 ...
- js 金融数字格式化
js 金融数字格式化 finance money number format 数字格式化 regex `123456789`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') ...
- JS疑难点和GC原理
js解析与序列化json数据(一)json.stringify()的基本用法: 对象有两个方法:stringify()和parse().在最简单的情况下,这两个方法分别用于把JavaScript对象序 ...
- JS中数据类型及原生对象简介
js是一种专门设计用来给网页增加交互性的编程语言,它的技术体系包含了一下几个方面: 1.JavaScript核心语言定义:包括数据类型,变量,常量,运算符,语句等. 2.原生对象和内置对象 3.浏览器 ...
- Moment.js学习(一)源代码
本篇主要是学习Moment.js.类库源代码如下: 2.4版本. //! moment.js //! version : 2.4.0 //! authors : Tim Wood, Iskren Ch ...
- 读书笔记:js设计模式
面向过程编程,面向对象编程和函数式编程> 定义一个类方法1:function Anim(){ } Anim.prototype.start = function(){ .. };Anim.pro ...
- 关于JS的一些东西
1.声明Js代码域 1.在head标签中使用script声明js代码域 <head> .... <!--声明js代码域--> ...
- JDK1.8中如何用ScriptEngine动态执行JS
JDK1.8中如何用ScriptEngine动态执行JS jdk1.6开始就提供了动态脚本语言诸如JavaScript动态的支持.这无疑是一个很好的功能,毕竟Java的语法不是适合成为动态语言.而JD ...
随机推荐
- Previous operation has not finished;run 'cleanup' if it was interrupted;Please execute the 'Cleanup' command.
今天更新文件夹时svn报错如下 提示说让clean up,但是clean up又提示fail,让继续clean up,这样就陷入死循环了…… 搜了多种解决办法后找到原因:当时正在打开着svn的某个文件 ...
- css--nth-child的注意点
nth-child( n ) 里面的n可以是任何整数值. 不过要取第一位开始的元素DOM对象,那么n是从1开始的 如果n值小于0或者等于0,是不会匹配任何元素,(或者超过数量)切记切记!!!! 例子: ...
- inotify事件监控工具
inotify事件监控工具 rsync + inotify 组合的起源 inotify优缺点 优点:监控文件系统事件变化,通过同步工具实现实时数据同步 缺点:并发如果大于200个文件(10-1 ...
- 九、Linux上软件安装
1. 在Linux上安装JDK: [步骤一]:上传JDK到Linux的服务器. * 上传JDK * 卸载open-JDK java –version rpm -qa | grep java rpm - ...
- APP压力稳定性测试之monkey环境搭建
一.搭建adb环境: 需要的安装软件包可以使用我分享的,链接:https://pan.baidu.com/s/13DThDtc0GALabTakshcLfg 密码:0kuo:也可以自己百度下载 1)下 ...
- java中引用的概念
强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: 1 2 Object object = new Object(); ...
- Base包equivalent
Guava 18.0到22.0 Equivalence发生了较大的变化,这里我们先不可考虑Equivalence 新实现的那个接口,首先看一个测试demo: import java.util.Arra ...
- MySql5.5安装详细说明
双击MySql5.5安装文件开始: next 打勾,Next 选Custom,原因如下面所述: Typical(典型安装) Installs the most common program fea ...
- ecplise的Jsp红叉错误消除
当做项目的时候,引入的jsp文件可能会出现红叉的情况,重新输入任意字符再删除,保存后恢复正常. 原因是由于jsp中的方法还没有实现,等方法写完之后,再使jsp文件重新处于编译状态,保存后恢复正常.
- JavaScript||什么是面向对象
什么是对象&面向对象 对象 是一个整体,对外提供功能.例:一个手机 电脑. 面向对象 使用的时候只关注提供的功能不关注内部的细节. 面向对象有三大特点: 抽象:将问题需求抽象出来 例:一个员工 ...