📜  JavaScript Object.prototype.toLocaleString() 方法(1)

📅  最后修改于: 2023-12-03 14:42:26.226000             🧑  作者: Mango

JavaScript Object.prototype.toLocaleString() 方法

JavaScript提供了一个Object对象方法toLocaleString(),它可以将一个对象转换为本地字符串。

语法
obj.toLocaleString([locales[, options]])
  • locales:可选参数,可以是一个字符串或字符串数组,用于标识所需的语言环境。如果省略locales,则默认使用环境的语言环境。
  • options:可选参数,一个对象,用于控制向字符串转换的行为。
返回值

返回一个本地化字符串,表示该对象。

示例
const num = 123456.789;

console.log(num.toLocaleString()); // 输出本地化的字符串,如 “123,456.789”(在美国)

在执行这个方法时,toLocaleString()会获取当前环境的本地化信息,根据这些信息将数字转换为本地化字符串,如在美国就是逗号分隔的形式。

另外,toLocaleString()不仅适用于数字,也适用于对象,数组等等,例如:

let date = new Date();
console.log(date.toLocaleString()); // 本地化的日期字符串(在美国):"3/1/2021, 4:53:10 PM"

let arr = [123, 456, 789];
console.log(arr.toLocaleString()); // 本地化的数组字符串(在美国):"123,456,789"
options参数

options参数以一个对象的形式传递,可以控制向字符串转换的行为,例如:

const num = 123456.789;

console.log(num.toLocaleString("en-US", { style: "currency", currency: "USD" })); // 美元:$123,456.79
console.log(num.toLocaleString("de-DE", { style: "currency", currency: "EUR" })); // 欧元:123.456,79 €

以上代码中,通过style指定将数字转换为货币格式的字符串,currency指定货币种类。根据传入的不同参数,toLocaleString()会返回不同的本地化字符串。

注意事项

调用toLocaleString()并不会改变原始对象,而是返回一个新的本地化字符串。

如果指定的语言环境不被支持,则使用默认的语言环境进行格式化,但是可能产生不同于原本意图的结果。