日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 .toLocaleString() 轻松实现多国语言价格数字格式化

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 .toLocaleString() 轻松实现多国语言价格数字格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用代碼對數字進行格式化,顯然不是逢三位加逗號這么簡單。比如印度在數字分位符號上的處理,就堪稱業界奇葩:

印度的數字讀法用“拉克”(十萬)和“克若爾”(千萬),數字標法用不對稱的數位分離,即小數點左側首先是三位分隔,然后繼續向左都是兩位分隔。如:三千萬(3 克若爾)會寫成 3,00,00,000。 —— 維基百科

簡單的暴利處理無法滿足多語言支持,此時使用 Number.prototype.toLocaleString() 進行數字格式化處理再好不過。


使用 .toLocaleString()

在 JavaScript 中,數字對象的 .toLocaleString() 方法如果不傳參數,則采用宿主環境的系統語言進行分位處理。

var price = 1024; price.toLocaleString(); // => "1,024"

使用 locales 參數

在 ECMA-402 標準的實現中,增加了.toLocaleString() 方法對 locales 的支持,語法為 numObj.toLocaleString([locales [, options]]),locales 參數接收 BCP 47 語言標簽格式的字符串或數組

那么將數字強制轉化為印度格式就變的簡單:

var price = 1669999; price.toLocaleString('en-IN'); // => "16,69,999"

這樣就可以輕松處理多語言的自動格式化了,只要根據 <html lang="en-IN"> 中的 lang屬性動態讀取就可以了。

var price = 1669999; var lang = document.querySelector('html').getAttribute('lang'); price.toLocaleString(lang); // 中文頁面下 => "1,669,999"

使用 options 參數

如果僅僅是做到多語言自動格式化數字,顯然還不夠細膩。通過 .toLocaleString() 方法的 options 參數,可以做到轉化至相應語言的貨幣格式。

在我的項目之前的實現中,多國語言的貨幣符號是通過模板渲染時讀取配置文件完成轉換的。如果使用 .toLocaleString() 展示或加工展示所有貨幣數字,則無需這一步驟:

var price = 2499; price.toLocaleString('en-IN', {style: 'currency',currency: 'INR' }); // => "? 2,499.00"

如果不想要顯示末尾的小數「.00」,只要設置一下最小分位 minimumFractionDigits 即可(默認是 2)

var price = 2499; price.toLocaleString('en-IN', {style: 'currency',currency: 'INR',minimumFractionDigits: 0 }); // => "? 2,499"

這樣一個完美的價格格式化功能就完成了。options 對象參數接收一系列樣式屬性,常用的有:

1.style:可選值為 decimal(小數)、currency(貨幣)或 percent(百分比);
2.currency:設置為貨幣樣式時使用的符號,支持列表在這里;
3.useGrouping:布爾值,是否顯示數字分位。

關于 locales 參數和 options 參數支持的其它屬性,例如上面使用的 minimumFractionDigits,可以查閱 MDN


兼容性

所有現代瀏覽器都支持 locales 參數,因此在移動端使用是安全無痛的。桌面端的支持則是 IE11 及以上。

另外,如果想在后端直接對不同頁面直接輸出對應的貨幣符或者做分位轉換等操作,只要用 node.js 做一個轉換就行了。


參考: https://www.cnblogs.com/276815076/p/10028391.html

總結

以上是生活随笔為你收集整理的使用 .toLocaleString() 轻松实现多国语言价格数字格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰xxx| 日韩av在线天堂 | 91偷拍一区二区三区精品 | 国产精品亚洲一区 | 午夜色婷婷 | 亚洲午码| 素人一区 | 午夜视频在线看 | 日韩a√| 日韩伦理一区 | 人体内射精一区二区三区 | av在线天堂 | 国产精品男女 | 国产人成视频在线观看 | 黑人一级片| 欧美亚洲不卡 | 亚洲天堂avav | 美女福利在线视频 | 国产尤物视频 | 在线视频日韩欧美 | 麻豆免费在线播放 | 6080黄色| 91porny九色91啦中文 | 欧美久久久影院 | 国产精品天美传媒入口 | 国产激情久久久久久熟女老人av | 久久无码高潮喷水 | 亚洲综合一区在线观看 | 青青青av | 杨幂国产精品一区二区 | 久久av综合 | 欧美色欧美色 | 永久免费无码av网站在线观看 | 日本不卡一区视频 | 亚洲自拍偷拍视频 | 伊人91视频| 欧美激情在线观看视频 | av高清在线观看 | 亚洲精品视频免费在线观看 | 国产一区二区三区视频免费观看 | 窝窝午夜精品一区二区 | 欧美大片www | 91麻豆精品在线观看 | 国产性色av| 免费黄色欧美 | 污到下面流水的视频 | 日韩欧美激情视频 | 黄色大片免费观看 | a级片国产 | 一区二区三区爱爱 | 黄色片在线看 | 一本色道久久综合亚洲精品按摩 | 国产精品久久久久久久一区二区 | av动漫天堂| 免费观看日批视频 | 中文字幕亚洲一区二区三区五十路 | 国产青青在线 | 少妇一级淫片免费观看 | 久久久电影 | 国产 福利 在线 | 二区在线视频 | 性欧美一区二区三区 | 乱人伦xxxx国语对白 | 欧美成人做爰猛烈床戏 | 亚洲国产日韩a在线播放性色 | 色综合天天综合网天天狠天天 | 亚洲中字幕 | 国产精品搬运 | 精品无码国产污污污免费网站 | 国产乱码在线观看 | 国产特级aaaaaa大片 | 可以免费看的毛片 | 日韩久久成人 | 四虎免费久久 | 六月丁香激情综合 | 大尺度做爰呻吟舌吻网站 | 91麻豆国产 | 调教亲女小嫩苞h文小说 | 成人国产视频在线观看 | 欧美一区二区三区网站 | 男男全肉变态重口高h | 竹菊影视日韩一区二区 | 天天射天天干天天 | 综合久久久久 | 脱美女衣服亲摸揉视频 | av在线播放网址 | 狠狠操综合网 | 免费人成网| 日韩中文一区二区三区 | 91久久精品无码一区二区 | 国产一精品一aⅴ一免费 | 成年人在线观看av | 成人午夜精品 | 日韩欧美国产中文字幕 | 伊人av一区 | 99精品视频在线观看免费 | 久久久久久久久久久久91 | 日本国产一级片 | 琪琪秋霞午夜被窝电影网 |