App 1 Icon
imToken: BTC & ETH
下载
App 2 Icon
imToken: BTC & ETH
下载
App 3 Icon
imToken: BTC & ETH
下载
欢迎访问imToken | 以太坊和比特币区块链钱包

js 货币转换数字怎么写?电商前端常用的几种实用方法

频道:imtoken最新安卓下载 日期: 浏览:19

js 货币转换数字怎么写?电商前端常用的几种实用方法

做电商后台这几年,货币数字转换是最常被问到的事。JS原生没有现成的货币工具,但几招组合下来完全够用。

最直接的写法是Intl.NumberFormat,传入locale和currency参数,比如 new Intl.NumberFormat('zh-CN', {style:'currency', currency:'USD'}),输出就是"$1,234.56"这种格式。不同语言环境下自动适配货币符号和小数位,比自己拼字符串省事很多。

Intl.NumberFormat货币格式化_js 货币转换数字_BigNumber.js高精度运算

碰到汇率换算时,浮点数精度是绕不开的坑。0.1加0.3不等于0.4,直接乘汇率再取整可能差一分。我的习惯是先把金额放大成整数(分),算完再缩小,或者引入BigNumber.js做高精度运算,避免用户看到"差了一毛钱"的投诉。

项目里经常做币种切换,后台存的是最小单位,前端展示时除以100转成元,再交给格式化函数。负数要加括号而不是负号,这是财务系统的惯例。千分位分隔符在有些地区是逗号js 货币转换数字js 货币转换数字怎么写?电商前端常用的几种实用方法,有些是点,跟着locale走就行。

移动端H5有个细节:部分安卓WebView对Intl支持不完整,低版本会直接报undefined。稳妥做法是加一层try-catch,失败就退回到手写模板,用正则插入千分位逗号。测试时拿CNY、JPY(无小数)、EUR(千分位是点)各跑一遍,基本就覆盖了。

关键词:js 货币转换数字