BigInt.prototype.toLocaleString()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2020å¹´9æ.
toLocaleString() 㯠BigInt å¤ã®ã¡ã½ããã§ããã®é·æ´æ°å¤ã®è¨èªã«åããã表ç¾ã®æååãè¿ãã¾ããIntl.NumberFormat API ã«å¯¾å¿ãã¦ããå®è£
ã§ã¯ããã®ã¡ã½ãã㯠Intl.NumberFormat ã«å§è²ãã¾ãã
toLocaleString ãå¼ã³åºããããã³ã«ãå¤§è¦æ¨¡ãªãã¼ã«ã©ã¤ãºæååãã¼ã¿ãã¼ã¹å
ãæ¤ç´¢ããå¿
è¦ããããæ½å¨çã«éå¹ççã§ããåã弿°ã§ã¡ã½ãããé »ç¹ã«å¼ã³åºãããå ´åãIntl.NumberFormat ãªãã¸ã§ã¯ãã使ãããã® format() ã¡ã½ããã使ç¨ããæ¹ãæã¾ããã§ããããã¯ãNumberFormat ãªãã¸ã§ã¯ããæ¸¡ããã弿°ãè¨æ¶ãããã¼ã¿ãã¼ã¹ã®ã¹ã©ã¤ã¹ããã£ãã·ã¥ããå¯è½æ§ãããããã§ããããã«ãããå°æ¥ã® format å¼ã³åºãã§ã¯ãããéå®ãããã³ã³ããã¹ãå
ã§ãã¼ã«ã©ã¤ãºæååãæ¤ç´¢ã§ããããã«ãªãã¾ãã
試ãã¦ã¿ã¾ããã
const bigint = 123456789123456789n;
// ãã¤ãèªã§ã¯åã®ä½ãããªãªãã§è¡¨ã
console.log(bigint.toLocaleString("de-DE"));
// äºæ³ãããçµæ: "123.456.789.123.456.789"
// é貨形å¼ããªã¯ã¨ã¹ã
console.log(
bigint.toLocaleString("de-DE", { style: "currency", currency: "EUR" }),
);
// äºæ³ãããçµæ: "123.456.789.123.456.789,00 â¬"
æ§æ
toLocaleString()
toLocaleString(locales)
toLocaleString(locales, options)
弿°
locales ããã³ options ã®å¼æ°ã¯ããã®é¢æ°ã®åä½ãã«ã¹ã¿ãã¤ãºããããã®ãã®ã§ãã¢ããªã±ã¼ã·ã§ã³ã¯æ´å½¢ã®æ
£ä¾ã使ç¨ããè¨èªãæå®ãããã¨ãã§ãã¾ãã
Intl.NumberFormat API ã«å¯¾å¿ãã¦ããå®è£
ã§ã¯ããããã®å¼æ°ã¯Intl.NumberFormat() ã³ã³ã¹ãã©ã¯ã¿ã¼ã®å¼æ°ã¨å®å
¨ã«ä¸è´ãã¾ããIntl.NumberFormat ã«å¯¾å¿ãã¦ããªãå®è£
ã§ã¯ã両æ¹ã®å¼æ°ãç¡è¦ããããæ±ãããã¦ããã使ç¨ããããã±ã¼ã«ã¨è¿ãããæååã®å½¢å¼ã¯å®å
¨ã«å®è£
ä¾åã¨ãªãã¾ãã
localesçç¥å¯-
BCP 47 è¨èªã¿ã°ã®æååãã¾ãã¯ãã®ãããªæååã®é åã§ãã
Intl.NumberFormat()ã³ã³ã¹ãã©ã¯ã¿ã¼ã®locales弿°ã«å¯¾å¿ãã¾ããIntl.NumberFormatã®å¯¾å¿ããªãå®è£ ã§ã¯ããã®å¼æ°ã¯ç¡è¦ããããã¹ãã®ãã±ã¼ã«ã使ç¨ããã¾ãã optionsçç¥å¯-
åºåå½¢å¼ã調æ´ãããªãã¸ã§ã¯ãã§ãã
Intl.NumberFormat()ã³ã³ã¹ãã©ã¯ã¿ã¼ã®options弿°ã«å¯¾å¿ãã¾ããIntl.NumberFormatã®å¯¾å¿ããªãå®è£ ã§ã¯ããã®å¼æ°ã¯ç¡è¦ããã¾ãã
ãããã®å¼æ°ã®è©³ç´°ã¨ä½¿ç¨æ¹æ³ã«ã¤ãã¦ã¯ãIntl.NumberFormat() ã³ã³ã¹ãã©ã¯ã¿ã¼ãåç
§ãã¦ãã ããã
è¿å¤
æå®ãããé·æ´æ°ãè¨èªåºæã®è¦åã«å¾ã£ã¦è¡¨ç¾ããæååã
Intl.NumberFormat ã«å¯¾å¿ãã¦ããå®è£
ã§ã¯ããã㯠new Intl.NumberFormat(locales, options).format(number) ã¨åçã§ãã
ã¡ã¢:
ã»ã¨ãã©ã®å ´åãtoLocaleString() ãè¿ãæ¸å¼ã¯ä¸è²«ãã¦ãã¾ãããã ããåããã±ã¼ã«å
ã§ãã£ã¦ããå®è£
ã«ãã£ã¦åºåã¯ç°ãªãå ´åãããã¾ããåºåã®ã°ãã¤ãã¯è¨è¨ä¸ã®ãã®ã§ããã仿§ã§èªãããã¦ãã¾ããã¾ããæå¾
ããçµæã¨ç°ãªãå ´åãããã¾ããä¾ãã°ãæååã«æ¹è¡ç¦æ¢ã¹ãã¼ã¹ã使ç¨ãããããæ¸åæ¹åå¶å¾¡æåã§å²ã¾ãããããå ´åãããã¾ããtoLocaleString() ã®çµæãããã¼ãã³ã¼ãããã宿°ã¨æ¯è¼ããªãã§ãã ããã
ä¾
>toLocaleString() ã®ä½¿ç¨
ãã±ã¼ã«ã使ç¨ããªãåºæ¬çãªä½¿ç¨ã§ã¯ãæ¢å®ã®ãã±ã¼ã«ã¨æ¢å®ã®ãªãã·ã§ã³ã§æå½¢ãããæååãè¿ããã¾ãã
const bigint = 3500n;
console.log(bigint.toLocaleString());
// "3,500" ã¨è¡¨ç¤º (U.S. English ãã±ã¼ã«ã®å ´å)
locales 㨠options 弿°ã¸ã®å¯¾å¿æç¡ã®ãã§ãã¯
å½éå API ã¸ã®å¯¾å¿ã¯ãªãã·ã§ã³ã§ãããä¸é¨ã®ã·ã¹ãã ã«ã¯å¿
è¦ãªãã¼ã¿ãåå¨ããªãå ´åããããããlocales ããã³ options 弿°ã¯ãã¹ã¦ã®å®è£
ã§å¯¾å¿ãã¦ããã¨ã¯éãã¾ãããå½éåã«å¯¾å¿ãã¦ããªãå®è£
ã§ã¯ãtoLocaleString() ã¯å¸¸ã«ã·ã¹ãã ã®ãã±ã¼ã«ã使ç¨ãã¾ããããã¯ãæå¾
ããçµæã¨ã¯ç°ãªãå ´åãããã¾ããlocales ããã³ options 弿°ã«å¯¾å¿ãã¦ããå®è£
ã¯ã Intl API ã«ã対å¿ãã¦ããå¿
è¦ããããããå¾è
ã®åå¨ã調ã¹ãã¨å¯¾å¿ãã¦ãããã©ããã確èªãããã¨ãã§ãã¾ãã
function toLocaleStringSupportsLocales() {
return (
typeof Intl === "object" &&
!!Intl &&
typeof Intl.NumberFormat === "function"
);
}
locales ã®ä½¿ç¨
ãã®ä¾ã§ã¯ãã¼ã«ã©ã¤ãºãããæ°å¤æ¸å¼ã®å¤åå½¢ã®ä¸é¨ã示ãã¦ãã¾ããã¢ããªã±ã¼ã·ã§ã³ã®ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ä½¿ç¨ããã¦ããè¨èªã®æ¸å¼ãåå¾ããã«ã¯ãå¿
ã locale å¼ãæ°ã§ãã®è¨èªã (å ´åã«ãã£ã¦ã¯äºåã®è¨èªã) æå®ãã¦ãã ããã
const bigint = 123456789123456789n;
// ãã¤ãèªã§ã¯åã®ä½ã®åºåãã«ããªãªãã使ç¨
console.log(bigint.toLocaleString("de-DE"));
// 123.456.789.123.456.789
// å¤ãã®ã¢ã©ãã¢èªã話ãå½ã§ã¯ã¢ã©ãã¢èªã§æ±ã¢ã©ãã¢æ°åã使ç¨
console.log(bigint.toLocaleString("ar-EG"));
// ١٢٣٬٤٥٦٬٧٨٩٬١٢٣٬٤٥٦٬٧٨٩
// ã¤ã³ãã§ã¯å/åä¸/åä¸ã®åºåãã使ç¨
console.log(bigint.toLocaleString("en-IN"));
// 1,23,45,67,89,12,34,56,789
// nu æ¡å¼µãã¼ã¯æ°å¤ä½ç³»ãè¦æ±ãä¾ãã°ä¸å½èªã®æ°åã®å ´å
console.log(bigint.toLocaleString("zh-Hans-CN-u-nu-hanidec"));
// â ä¸äºä¸,åäºå
,ä¸å
«ä¹,ä¸äºä¸,åäºå
,ä¸å
«ä¹
// è¦æ±ããè¨èªã«å¯¾å¿ãã¦ããªãå ´åãä¾ãã°ããªèªã®å ´åã
// äºåã®è¨èªããã®å ´åã¯ã¤ã³ããã·ã¢èªã使ç¨
console.log(bigint.toLocaleString(["ban", "id"]));
// â 123.456.789.123.456.789
options ã®ä½¿ç¨
toLocaleString() ã§æä¾ãããçµæã¯ options 弿°ã§ã«ã¹ã¿ãã¤ãºã§ãã¾ãã
const bigint = 123456789123456789n;
// é貨æ¸å¼ãè¦æ±
console.log(
bigint.toLocaleString("de-DE", { style: "currency", currency: "EUR" }),
);
// 123.456.789.123.456.789,00 â¬
// æ¥æ¬åã«ã¯ä¸ä½ã®åä½ããªã
console.log(
bigint.toLocaleString("ja-JP", { style: "currency", currency: "JPY" }),
);
// ï¿¥123,456,789,123,456,789
// æå¹æ°åã 3 æ¡ã«éå®
console.log(bigint.toLocaleString("en-IN", { maximumSignificantDigits: 3 }));
// 1,23,00,00,00,00,00,00,000
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sup-bigint.prototype.tolocalestring> |