js将大数字金额转换成带单位的数字金额,万,千万,亿,

第一个参数是在转换的数字,

第二个参数是返回的格式

不传第二个参数,返回数字和单位分开的,数组格式,传第二个参数后,返回数组和单位的字符串,这样的话可以对数字和单位分别做特殊处理,方便对字号,颜色等分开设置

样例:

安装   npm i big-number-transform

使用:

import  bigNumberTransform  from 'big-number-transform'

const nums = bigNumberTransform(232323)

源码 js版:

let bigNumberTransform =  function(value,type) {const newValue = ['', '', '']let fr = 1000let num = 3let text1 = ''let text2 = ''let fm = 1if(value=='' || value==null || isNaN(value)){return !type?newValue:''}if(value<0){value = Math.abs(value);text2 = '-'}while (value / fr >= 1) {fr *= 10num += 1// console.log('数字', value / fr, 'num:', num)}if (num <= 4) { // 千newValue[0] = valuenewValue[1] = ''} else if (num <= 8) { // 万// text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万'text1 = '万'// tslint:disable-next-line:no-shadowed-variablefm = text1 === '万' ? 10000 : 10000000if (value % fm === 0) {newValue[0] = parseInt(value / fm) + ''} else {newValue[0] = parseFloat(value / fm).toFixed(2) + ''}newValue[1] = text1} else { // 亿 if (num <= 16)// text1 = (num - 8) / 3 > 1 ? '千亿' : '亿'text1 = '亿'text1 = (num - 8) / 4 > 1 ? '万亿' : text1text1 = (num - 8) / 7 > 1 ? '千万亿' : text1text1 = (num - 8) / 10 > 1 ? '亿亿' : text1// tslint:disable-next-line:no-shadowed-variablefm = 1if (text1 === '亿') {fm = 100000000} else if (text1 === '千亿') {fm = 100000000000} else if (text1 === '万亿') {fm = 1000000000000} else if (text1 === '千万亿') {fm = 1000000000000000}else{fm = 1000000000000000000}if (value % fm === 0) {newValue[0] = parseInt(value / fm) + ''} else {newValue[0] = parseFloat(value / fm).toFixed(2) + ''}newValue[1] = text1}if (value < 1000) {newValue[0] = value + ''newValue[1] = '元'}newValue[0] = text2?text2 + newValue[0] : newValue[0]return !type?newValue:(newValue[0] + newValue[1])
}

源码ts版

// src/index.ts
export default function(value:number,type:string) {const newValue = ['', '', '']let fr = 1000let num = 3let text1 = ''let text2 = ''let fm = 1if(value==null || isNaN(value)){return !type?newValue:''}if(value<0){value = Math.abs(value);text2 = '-'}while (value / fr >= 1) {fr *= 10num += 1// console.log('数字', value / fr, 'num:', num)}if (num <= 4) { // 千newValue[0] = value.toString()newValue[1] = ''} else if (num <= 8) { // 万// text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万'text1 = '万'// tslint:disable-next-line:no-shadowed-variablefm = text1 === '万' ? 10000 : 10000000if (value % fm === 0) {newValue[0] = parseInt((value / fm).toString()) + ''} else {newValue[0] = parseFloat((value / fm).toString()).toFixed(2) + ''}newValue[1] = text1} else { // 亿 if (num <= 16)// text1 = (num - 8) / 3 > 1 ? '千亿' : '亿'text1 = '亿'text1 = (num - 8) / 4 > 1 ? '万亿' : text1text1 = (num - 8) / 7 > 1 ? '千万亿' : text1text1 = (num - 8) / 10 > 1 ? '亿亿' : text1// tslint:disable-next-line:no-shadowed-variablefm = 1if (text1 === '亿') {fm = 100000000} else if (text1 === '千亿') {fm = 100000000000} else if (text1 === '万亿') {fm = 1000000000000} else if (text1 === '千万亿') {fm = 1000000000000000}else{fm = 1000000000000000000}if (value % fm === 0) {newValue[0] = parseInt((value / fm).toString()) + ''} else {newValue[0] = parseFloat((value / fm).toString()).toFixed(2) + ''}newValue[1] = text1}if (value < 1000) {newValue[0] = value + ''newValue[1] = '元'}newValue[0] = text2?text2 + newValue[0] : newValue[0]return !type?newValue:(newValue[0] + newValue[1])
}

js和 ts 将大数字金额转换成带单位的数字金额,万,千万,亿,格式化金额数字,格式化成带单位的金额,附ts版代码相关推荐

  1. python数字大小写转换代码_用python实现把数字人民币金额转换成大写的脚本程序...

    # -*- coding: utf-8 -*- def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( forma ...

  2. 小写数字转大写_不得不说的Excel小技巧:设置单元格格式将小写金额转换成大写...

    大家好,我是小秋,近期一段时间比较忙,没有在今日头条上更新原创文章了.希望朋友们多多见谅,下面与大家分享一个Excel实用小技巧:如何设置单元格格式将小写金额转换成大写? 1.应用场景 在报销单.收据 ...

  3. 如何把数字金额转换成中文大写

    问题:要求把万亿级别内的浮点数转换成中文大写,例如把数字1112221000060.254400转换成:壹万壹仟壹佰贰拾贰亿贰仟壹佰万零陆拾元零贰角伍分 分析:关键是先把double类型转换成char ...

  4. 把数字金额转换成中文大写数字

    //把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...

  5. win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...

    有很多网友在使用电脑的过程总难免会遇到win7系统excel数字小写金额转换成汉字大写金额的情况.针对win7系统excel数字小写金额转换成汉字大写金额的问题,我给大家整理总结了详细的解决步骤.近日 ...

  6. 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】

    Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...

  7. 把数字金额转换成人民币大写[原创]

    最近在用这个博客,感觉博客园不错,以前用的是新浪的,感觉这个更好,所以好多东西现在转到这边来了. 下面是一个数字转人民币大写的类,不啰嗦了,下面是代码:  1    /**/ /// <summ ...

  8. php数字转换百千万,PHP数字金额转换成中文大写显示

    整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...

  9. php显示大写金额,PHP数字金额转换成中文大写显示

    整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...

最新文章

  1. java io 文件路径格式_java中iofile的路径问题,确定一个未知方法所需要的文件路径...
  2. 利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署
  3. Hadoop发行版本选择
  4. java演练 猜奇偶小游戏开发 DB游戏必输的设计
  5. php mkdir用户,PHP mkdir()无写权限的问题解决方法
  6. day21 java的日期类
  7. 计蒜客挑战难题:元素移除
  8. 爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
  9. messageutil.java_java socket 怎么给websocket发信息
  10. 济南信息工程学校计算机应用技术视频讲坐,技赢未来||济南信息工程学校3专业5项目顺利完成市专业技能抽测...
  11. 2016最新版App Store应用审核指南完整版
  12. xmlspy2014下载安装(可用)
  13. Wordpress源码文件详解
  14. oracle 裸设备使用方法,Linux上如何使用裸设备
  15. win7还原关闭计算机,怎么关闭系统还原,教您win7怎么关闭系统还原
  16. 免费顶级域名TK介绍
  17. MATLAB编程实现哈夫曼编码
  18. 计算机网络管理设计,计算机网络管理系统设计与应用分析
  19. (三)Chipset Config
  20. DDoS会危害关键基础设施吗? “安全加”认为媒体搞错了方向 APT攻击才是杀手锏...

热门文章

  1. 华创期货止盈止损策略
  2. linux中min函数用法,linux内核中的min、max函数
  3. torch.arange()
  4. 一次calico起不来的问题排查
  5. 乘法原理的例题和答案_小学奥数 简单乘法原理 精选练习例题 含答案解析(附知识点拨及考点)...
  6. Tomcat 闪退问题
  7. PB :图片显示+数据库保留图片路径
  8. JAR 包及MANIFEST.MF 文件详解
  9. ubuntu(Linux)安装微信
  10. 龙华区高层次人才引进培育奖励政策汇总介绍,补贴240万