Object.prototype.toLocaleString()
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
toLocaleString() æ¹æ³è¿åä¸ä¸ªè¡¨ç¤ºå¯¹è±¡çå符串ãè¯¥æ¹æ³æ¨å¨ç±æ´¾ç对象éåï¼ä»¥è¾¾å°å
¶ç¹å®äºè¯è¨ç¯å¢çç®çã
å°è¯ä¸ä¸
const date1 = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
console.log(date1.toLocaleString("ar-EG"));
// Expected output: "Ù¢Ù â/١٢â/٢٠١٢ Ù¤:Ù Ù :٠٠ص"
const number1 = 123456.789;
console.log(number1.toLocaleString("de-DE"));
// Expected output: "123.456,789"
è¯æ³
toLocaleString()
åæ°
没æåæ°ã使¯ï¼éåæ¤æ¹æ³çææå¯¹è±¡æå¤åªè½æ¥åä¸¤ä¸ªåæ°ï¼åå«å¯¹åºäº locales å optionsï¼ä¾å¦ Date.prototype.toLocaleStringãè¿äºåæ°ä½ç½®ä¸åºè¯¥ç¨äºä»»ä½å
¶ä»ç®çã
è¿åå¼
è°ç¨ this.toString() çè¿åå¼ã
æè¿°
ææç»§æ¿ Object.prototypeï¼ä¹å°±æ¯è¯´ï¼é¤äº null åå对象ï¼ç对象é½ç»§æ¿äº toLocaleString() æ¹æ³ãObject ç toLocaleString è¿åè°ç¨ this.toString() çç»æã
æä¾æ¤æ¹æ³æ¯ä¸ºäºç»å¯¹è±¡ä¸ä¸ªéç¨ç toLocaleString æ¹æ³ï¼å³ä½¿ä¸æ¯ææå¯¹è±¡é½ä¼ä½¿ç¨å®ã卿 ¸å¿è¯è¨ä¸ï¼è¿äºå
置对象éåäº toLocaleString 以æä¾ç¹å®äºè¯è¨ç¯å¢çæ ¼å¼ï¼
示ä¾
>使ç¨åºæ¬ç toLocaleString() æ¹æ³
åºæ¬ç toLocaleString() æ¹æ³åªæ¯ç®åå°è°ç¨ toString()ã
const obj = {
toString() {
return "My Object";
},
};
console.log(obj.toLocaleString()); // "My Object"
Array éåç toLocaleString()
Array.prototype.toLocaleString() ç¨äºå°æ°ç»å¼æå°æå符串ï¼éè¿è°ç¨æ¯ä¸ªå
ç´ ç toLocaleString() æ¹æ³ï¼å¹¶ä½¿ç¨ç¹å®äºè¯è¨ç¯å¢çåéç¬¦æ¼æ¥ãä¾å¦ï¼
const testArray = [4, 7, 10];
const euroPrices = testArray.toLocaleString("fr", {
style: "currency",
currency: "EUR",
});
// "4,00 â¬,7,00 â¬,10,00 â¬"
Date éåç toLocaleString()
Date.prototype.toLocaleString() ç¨äºæå°ææ´éåç¹å®è¯è¨ç¯å¢çæ¥ææ¾ç¤ºãä¾å¦ï¼
const testDate = new Date();
// "Fri May 29 2020 18:04:24 GMT+0100 (British Summer Time)"
const deDate = testDate.toLocaleString("de");
// "29.5.2020, 18:04:24"
const frDate = testDate.toLocaleString("fr");
// "29/05/2020, 18:04:24"
Number éåç toLocaleString()
Number.prototype.toLocaleString() ç¨äºæå°ææ´éåç¹å®è¯è¨ç¯å¢çæ°åæ¾ç¤ºï¼ä¾å¦ä½¿ç¨æ£ç¡®çåé符ãä¾å¦ï¼
const testNumber = 2901234564;
// "2901234564"
const deNumber = testNumber.toLocaleString("de");
// "2.901.234.564"
const frNumber = testNumber.toLocaleString("fr");
// "2 901 234 564"
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.prototype.tolocalestring> |