跳到主要内容

JavaScript 对象 toLocaleString() 方法

Object.toLocaleString() 方法返回对象的语言敏感字符串表示。

示例

const number = 123456.789;

// 将数字转换为具有语言敏感性的字符串
// 代表印度英语地区
const numberString = number.toLocaleString("en-IN");

console.log(numberString);
// 输出:1,23,456.789

toLocaleString() 语法

toLocaleString() 方法的语法为:

obj.toLocaleString(Locales, options);

这里的 obj 是需要语言特定字符串表示的对象。

toLocaleString() 参数

toLocaleString() 方法默认不接受任何参数。然而,它可以有可选参数:

  • Locales - 指定使用哪种语言格式,如 en-US(美国英语)、en-IN(印度英语)等
  • options - 帮助设置一些属性以自定义字符串表示

注意: Localesoptions 参数定制了函数的行为,以指定基于语言或地区的期望格式约定。

toLocaleString() 返回值

toLocaleString() 方法返回代表对象的字符串。

一些重写了 Object.toLocaleString() 的对象:

示例 1:JavaScript 的 toLocaleString() 与数组

// 创建一个包含三个数字的数组
const arr = [4, 7, 10];

// 转换为法文货币格式(欧元)的字符串
let string = arr.toLocaleString("fr", { style: "currency", currency: "EUR" });

console.log(string);

// 输出:4,00 €,7,00 €,10,00 €

在上述示例中,toLocaleString() 将数组 arr 转换为符合法国地区格式且使用欧元作为货币符号的格式化字符串。

在上述代码中,fr 代表法国地区,EUR 代表欧元货币。

示例 2:toLocaleString() 方法与数字

// 创建一个数字
const num = 123456.789;

// 将 num 转换为
// 印度英语格式约定的字符串
console.log(num.toLocaleString("en-IN"));

// 印度使用千分位/卢比分隔符
// 输出:1,23,456.789

示例 3:toLocaleString() 方法与日期

// 创建一个新的日期对象
const date = new Date(Date.now());
console.log(date);

// 输出:Fri Mar 03 2022 12:30:00 GMT-0800 (太平洋标准时间)

// 使用德国地区格式约定转换日期
let dateStr = date.toLocaleString("de");
console.log(dateStr);

// 输出:29.7.2020, 15:37:00

注意Object.toLocaleString() 方法通常返回 toString() 的结果。这个方法意在被派生对象为了特定地区目的而重写,尽管并非所有对象都使用它。

推荐阅读: