js和 ts 将大数字金额转换成带单位的数字金额,万,千万,亿,格式化金额数字,格式化成带单位的金额,附ts版代码
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版代码相关推荐
- python数字大小写转换代码_用python实现把数字人民币金额转换成大写的脚本程序...
# -*- coding: utf-8 -*- def Num2MoneyFormat( change_number ): """ .转换数字为大写货币格式( forma ...
- 小写数字转大写_不得不说的Excel小技巧:设置单元格格式将小写金额转换成大写...
大家好,我是小秋,近期一段时间比较忙,没有在今日头条上更新原创文章了.希望朋友们多多见谅,下面与大家分享一个Excel实用小技巧:如何设置单元格格式将小写金额转换成大写? 1.应用场景 在报销单.收据 ...
- 如何把数字金额转换成中文大写
问题:要求把万亿级别内的浮点数转换成中文大写,例如把数字1112221000060.254400转换成:壹万壹仟壹佰贰拾贰亿贰仟壹佰万零陆拾元零贰角伍分 分析:关键是先把double类型转换成char ...
- 把数字金额转换成中文大写数字
//把数字金额转换成中文大写数字 function changeNumMoneyToChinese(money) { var cnNums = new Array("零", &qu ...
- win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...
有很多网友在使用电脑的过程总难免会遇到win7系统excel数字小写金额转换成汉字大写金额的情况.针对win7系统excel数字小写金额转换成汉字大写金额的问题,我给大家整理总结了详细的解决步骤.近日 ...
- 【简单易懂】Java字符串应用场景:数字金额转换成大写汉字金额【金额转换】
Java字符串应用场景:数字金额转换成汉字金额 文章目录 Java字符串应用场景:数字金额转换成汉字金额 前言 一.String简单介绍 二.字符串在开发中的应用场景 三.金额转换 3.1解题思路 3 ...
- 把数字金额转换成人民币大写[原创]
最近在用这个博客,感觉博客园不错,以前用的是新浪的,感觉这个更好,所以好多东西现在转到这边来了. 下面是一个数字转人民币大写的类,不啰嗦了,下面是代码: 1 /**/ /// <summ ...
- php数字转换百千万,PHP数字金额转换成中文大写显示
整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...
- php显示大写金额,PHP数字金额转换成中文大写显示
整个功能其实不难,只是还算挺实用,所以记一下哈,其他编程语言转换一下也是能可以的! 思路:把传过来的金额转换成整数和小数两部分,再对其分别进行转换处理 代码附上: function moneyToSt ...
最新文章
- java io 文件路径格式_java中iofile的路径问题,确定一个未知方法所需要的文件路径...
- 利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署
- Hadoop发行版本选择
- java演练 猜奇偶小游戏开发 DB游戏必输的设计
- php mkdir用户,PHP mkdir()无写权限的问题解决方法
- day21 java的日期类
- 计蒜客挑战难题:元素移除
- 爬取微博的数据时别人用的是FM.view方法传递html标签那么jsoup怎么解析呢
- messageutil.java_java socket 怎么给websocket发信息
- 济南信息工程学校计算机应用技术视频讲坐,技赢未来||济南信息工程学校3专业5项目顺利完成市专业技能抽测...
- 2016最新版App Store应用审核指南完整版
- xmlspy2014下载安装(可用)
- Wordpress源码文件详解
- oracle 裸设备使用方法,Linux上如何使用裸设备
- win7还原关闭计算机,怎么关闭系统还原,教您win7怎么关闭系统还原
- 免费顶级域名TK介绍
- MATLAB编程实现哈夫曼编码
- 计算机网络管理设计,计算机网络管理系统设计与应用分析
- (三)Chipset Config
- DDoS会危害关键基础设施吗? “安全加”认为媒体搞错了方向 APT攻击才是杀手锏...
热门文章
- 华创期货止盈止损策略
- linux中min函数用法,linux内核中的min、max函数
- torch.arange()
- 一次calico起不来的问题排查
- 乘法原理的例题和答案_小学奥数 简单乘法原理 精选练习例题 含答案解析(附知识点拨及考点)...
- Tomcat 闪退问题
- PB :图片显示+数据库保留图片路径
- JAR 包及MANIFEST.MF 文件详解
- ubuntu(Linux)安装微信
- 龙华区高层次人才引进培育奖励政策汇总介绍,补贴240万