货币选项卡的数字分组设置,千分位规则别搞错

货币选项卡的数字分组,说穿了就是把一串大数字按千位切开,让看报表的人不用从个位一路数到百万位再确认位数。做财务模块前端这几年,这类需求我接得最多,今天把实际踩过的坑捋一捋。

客户最常提的就一句话:"数字太多看着累,隔三位加个逗号呗。"听着简单,但分组符号因地区而异——英文环境用逗号货币选项卡的数字分组,德文法文用点号甚至空格。同一个金额字段,切到不同货币选项卡就得跟着换,写死一个符号整个报表就翻车。

货币选项卡的数字分组设置,千分位规则别搞错

前端实现我从不手写正则去切字符串,直接调 Intl.NumberFormat,传进locale和currency两个参数,浏览器自动算好该输出"1,234,567.89"还是"1.234.567,89"。省下来的功夫花在小数位数控制上,别让用户在分组位和小数位之间来回跳着找小数点。

最隐蔽的坑是货币符号位置。美元标在数字左边,日元挂在右边,欧元有的系统放前有的放后。分组加完再拼符号,顺序一错,财务审核直接打回重做。我现在用flex布局把符号和数字分开放,谁也不挨着货币选项卡的数字分组设置,千分位规则别搞错,怎么排都稳当。

你们项目里货币选项卡只支持一种货币,还是得同时挂七八种?分组规则有没有被本地化搞得头大?欢迎聊聊你们是怎么处理的。

相关阅读