前端数值展示的思考与实践

本文探讨了前端开发中数值展示的挑战,如布局限制和异常处理。介绍了一个名为Number Display的工具函数,它允许开发者通过配置实现数值的压缩、千位分隔符、异常占位符等功能。Number Display遵循限制长度、减少小数位、使用数值单位的压缩原则,确保数值在有限空间内适配显示。
摘要由CSDN通过智能技术生成
前端如何友好的展示数值?本文基于实践总结了一些原则,介绍封装的工具库 Number Display ,并分析源码的实现。
Number Display 有适用于 Web 的 JavaScript 版和适用于 Flutter 的 Dart 版。
JavaScript 版
Dart 版

在前端开发中,数值展示是一个常见的需求。不同于统计或实验报表对精确性和规范性的注重,前端展示数值时更注重用户友好,让人一眼能感知数字,并且保持页面简洁、整齐。

无论是移动端的 App ,还是管理后台型的页面,或者流行的数据大屏,以下一些需求是展示数值时常常遇到的,具有一定的共性:

  • 受布局空间的限制,数值字符串不能超过某个长度
  • 不能出现 null 、 NaN 、 undefined 之类的情况,异常时希望有 “--” 之类的占位符
  • 数字过大时希望加上千位分隔符 (1,234,222) ,或用数值单位表示 (1.23k)
  • 不要出现科学计数法 (1.23e+4)
  • 小数末尾不要有一串 0

如果能有一个工具函数,只需简单的配置,便可将输入的数值转换成符合要求的字符串就好了,特别是当长度有限时,能自动通过变换单位,压缩小数位的方式确保字符串不溢出长度限制,比如:

-254623933.876  =>  -254.62M
-1.2345e+5  =>  -123,450
12.000  => 12 
NaN  =>  --

Number Display 就是为这样的需求而创建的:

rstStr = dis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值