百科狗-知识改变命运!
--

Intl.NumberFormat - JavaScript Intl 对象

百变鹏仔1年前 (2023-11-21)阅读数 23#技术干货
文章标签货币

Intl.NumberFormat

Intl.NumberFormat是对语言敏感的格式化数字类的构造器类

语法

new Intl.NumberFormat([locales[, options]])
Intl.NumberFormat.call(this[, locales[, options]])

参数

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.

描述

属性

Intl.NumberFormat.prototype允许将属性添加到所有对象上。

方法

Intl.NumberFormat.supportedLocalesOf()返回一个数组包含的那些被提供的可以被支持的locales,运行时的默认的locale不会出现在该数组中.

NumberFormat实例

属性

NumberFormat实例继承一下原型的属性:

Intl.NumberFormat.prototype.constructorA reference to Intl.NumberFormat.

方法

Intl.NumberFormat - JavaScript Intl 对象

NumberFormat实例继承一下原型的方法:

Intl.NumberFormat.prototype.format()Getter function that formats a number according to the locale and formatting options of this NumberFormat object.Intl.NumberFormat.prototype.formatToParts()Returns an Array of objects representing the number string in parts that can be used for custom locale-aware formatting.Intl.NumberFormat.prototype.resolvedOptions()Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

例子

基本用法

在不指定locale的基本用法中,一个使用默认locale和默认options的字符串被返回.

var number = 3500;

console.log(new Intl.NumberFormat().format(number));
// 如果在美国英语地区 → '3,500' 

使用locales

这个例子显示了一些本地化的数字格式的一些变化。为了获得用于您的应用程序的用户界面的语言格式,请确保设定了语言(可能还有一些回退语言)参数:

var number = 123456.789;

// 德语使用逗号作为小数点,使用.作为千位分隔符
console.log(new Intl.NumberFormat('de-DE').format(number));
// → 123.456,789

// 大多数阿拉伯语国家使用阿拉伯语数字
console.log(new Intl.NumberFormat('ar-EG').format(number));
// → ١٢٣٤٥٦٫٧٨٩

// India uses thousands/lakh/crore separators
console.log(new Intl.NumberFormat('en-IN').format(number));
// → 1,23,456.789

// 通过编号系统中的nu扩展键请求, 例如中文十进制数字
console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(number));
// → 一二三,四五六.七八九

//当请求的语言不被支持,例如巴里,包含一个回滚语言印尼,这时候就会使用印尼语
console.log(new Intl.NumberFormat(['ban', 'id']).format(number));
// → 123.456,789

可用的选项

可用的选项参数,返回的值可以被设置成想要的形式:

var number = 123456.789;

// 请求一个货币格式
console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
// → 123.456,79 €

// the Japanese yen doesn't use a minor unit
console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));
// → ¥123,457

// 只显示三个有效数字
console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number));
// → 1,23,000

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)