代码

  1. /**
  2. * 大数字转换,将大额数字转换为万、千万、亿等
  3. * @param value 数字值
  4. */
  5. export function bigNumberTransform (value) {
  6. const newValue = ['', '', '']
  7. let fr = 1000
  8. let num = 3
  9. let text1 = ''
  10. let fm = 1
  11. while (value / fr >= 1) {
  12. fr *= 10
  13. num += 1
  14. // console.log('数字', value / fr, 'num:', num)
  15. }
  16. if (num <= 4) { // 千
  17. newValue[0] = parseInt(value / 1000) + ''
  18. newValue[1] = '千'
  19. } else if (num <= 8) { // 万
  20. text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万'
  21. // tslint:disable-next-line:no-shadowed-variable
  22. fm = text1 === '万' ? 10000 : 10000000
  23. if (value % fm === 0) {
  24. newValue[0] = parseInt(value / fm) + ''
  25. } else {
  26. newValue[0] = parseFloat(value / fm).toFixed(2) + ''
  27. }
  28. newValue[1] = text1
  29. } else if (num <= 16) { // 亿
  30. text1 = (num - 8) / 3 > 1 ? '千亿' : '亿'
  31. text1 = (num - 8) / 4 > 1 ? '万亿' : text1
  32. text1 = (num - 8) / 7 > 1 ? '千万亿' : text1
  33. // tslint:disable-next-line:no-shadowed-variable
  34. fm = 1
  35. if (text1 === '亿') {
  36. fm = 100000000
  37. } else if (text1 === '千亿') {
  38. fm = 100000000000
  39. } else if (text1 === '万亿') {
  40. fm = 1000000000000
  41. } else if (text1 === '千万亿') {
  42. fm = 1000000000000000
  43. }
  44. if (value % fm === 0) {
  45. newValue[0] = parseInt(value / fm) + ''
  46. } else {
  47. newValue[0] = parseFloat(value / fm).toFixed(2) + ''
  48. }
  49. newValue[1] = text1
  50. }
  51. if (value < 1000) {
  52. newValue[0] = value + ''
  53. newValue[1] = ''
  54. }
  55. return newValue.join('')
  56. }

js大数字转换,将大额数字转换为万、千万、亿等的更多相关文章

  1. js完美转换阿拉伯数字为数字大写(原创)

    啥都不说,直接上代码: //阿拉伯数字转换为简写汉字 function Arabia_To_SimplifiedChinese(Num) { for (i = Num.length - 1; i &g ...

  2. js玩转数字----取整,四舍五入,数字字符串转换

    取整: 向下取整Math.floor(),向上取整Math.ceil(),四舍五入Math.round()),保留有效数位n.toFixed(),产生大于等于0小于1的随机数Math.random() ...

  3. js字符串转换成数字与数字转换成字符串的实现方法

    转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...

  4. js字符串转换成数字,数字转换成字符串

    转自网络,忘记出处了. js字符串转换成数字 将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseIn ...

  5. js将数字转换成货币形式的字符

    因为UI图上有的地方需要将数字转成货币形式的,例如:1234567转成  1,234,567  这样的,不过之前没弄过,然后在网上搜了下方法,参考了下面这篇文章 参考文章:JS将数字转成货币形式的简单 ...

  6. JS 把数字转换成字母

     JS 把数字转换成字母 2013-03-12 22:28:11 分类: JavaScript String.fromCharCode(addcount+65) 位运算alert(1<<0 ...

  7. js 将数字转换成人民币大写的方法

    //将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', ' ...

  8. js 将数字转换成中文大写

    //完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五. const toChinesNum = ...

  9. 【转】js 中导出excel 较长数字串会变为科学计数法

    [转]js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串 ...

随机推荐

  1. PHP money_format() 函数

    实例 en_US 国际格式: <?php高佣联盟 www.cgewang.com$number = 1234.56;setlocale(LC_MONETARY,"en_US" ...

  2. luogu P1973 [NOI2011]NOI 嘉年华 dp

    LINK:NOI 嘉年华 一道质量非常高的dp题目. 考虑如何求出第一问 容易想到dp. 按照左端点排序/右端点排序状态还是很难描述. 但是我们知道在时间上肯定是一次选一段 所以就可以直接利用时间点来 ...

  3. 5.15 牛客挑战赛40 E 小V和gcd树 树链剖分 主席树 树状数组 根号分治

    LINK:小V和gcd树 时限是8s 所以当时好多nq的暴力都能跑过. 考虑每次询问暴力 跳父亲 这样是nq的 4e8左右 随便过. 不过每次跳到某个点的时候需要得到边权 如果直接暴力gcd的话 nq ...

  4. CF1037H Security 线段树合并 SAM

    LINK:Security 求一个严格大于T的字符串 是原字符串S[L,R]的子串. 容易想到尽可能和T相同 然后再补一个尽可能小的字符即可. 出于这种思想 可以在SAM上先跑匹配 然后枚举加哪个字符 ...

  5. linux之DHCP服务端搭建 ( ip分配 四个阶段原理)

    DHCP服务 ip分配 四个阶段原理 1.DHCP服务目的 协议 作用 租约 原理四个阶段 动态主机配置协议(Dynamic Host Configuration Protocol,动态主机配置协议) ...

  6. 【CF600E】Lomset gelral 题解(树上启发式合并)

    题目链接 题目大意:给出一颗含有$n$个结点的树,每个节点有一个颜色.求树中每个子树最多的颜色的编号和. ------------------------- 树上启发式合并(dsu on tree). ...

  7. 解决 IntelliJ IDEA占用C盘过大空间问题

    原文地址:https://blog.csdn.net/weixin_44449518/article/details/103334235 问题描述: 在保证其他软件缓存不影响C盘可用空间的基础上,当我 ...

  8. 强烈推荐 16 款 IDEA 插件,让你的开发速度飞起来!

    当前使用的IDEA版本是2020.1.随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐.以下列举的,都是亲测可以在2020.1版本的IDEA中使用的插件. 1 g ...

  9. 基于视频压缩的实时监控系统-sprint1基于epoll架构的采集端程序设计

    part1:产品功能 part2:epoll机制   select与epoll区别 1.select与epoll没有太大的区别.除了select有文件描述符限制(1024个),select每次调用都需 ...

  10. C++ 的字符串反转

    C++ 的字符串反转 方法一: 使用 algorithm 中的 reverse 函数: // reverse 函数的定义(在 std 名称空间中) template<class BidirIt& ...