js将数字转换为带有单位的中文表示
好不容易找到了, 实测可行, 记录一下。 到时候调用方法 addChineseUnit , 其他两个方法在addChineseUnit中有调用
/**
* 为数字加上单位:万或亿
*
* 例如:
* 1000.01 => 1000.01
* 10000 => 1万
* 99000 => 9.9万
* 566000 => 56.6万
* 5660000 => 566万
* 44440000 => 4444万
* 11111000 => 1111.1万
* 444400000 => 4.44亿
* 40000000,00000000,00000000 => 4000万亿亿
* 4,00000000,00000000,00000000 => 4亿亿亿
*
* @param {number} number 输入数字.
* @param {number} decimalDigit 小数点后最多位数,默认为2
* @return {string} 加上单位后的数字
*/ addWan: function(integer, number, mutiple, decimalDigit) {
var me = this;
var digit = me.getDigit(integer);
if (digit > 3) {
var remainder = digit % 8;
if (remainder >= 5) { // ‘十万’、‘百万’、‘千万’显示为‘万’
remainder = 4;
}
return Math.round(number / Math.pow(10, remainder + mutiple - decimalDigit)) / Math.pow(10, decimalDigit) + '万';
} else {
return Math.round(number / Math.pow(10, mutiple - decimalDigit)) / Math.pow(10, decimalDigit);
}
},
getDigit: function(integer) {
var digit = -1;
while (integer >= 1) {
digit++;
integer = integer / 10;
}
return digit;
},
addChineseUnit: function(number, decimalDigit) {
var me = this;
decimalDigit = decimalDigit == null ? 2 : decimalDigit;
var integer = Math.floor(number);
var digit = me.getDigit(integer);
// ['个', '十', '百', '千', '万', '十万', '百万', '千万'];
var unit = [];
if (digit > 3) {
var multiple = Math.floor(digit / 8);
if (multiple >= 1) {
var tmp = Math.round(integer / Math.pow(10, 8 * multiple));
unit.push(me.addWan(tmp, number, 8 * multiple, decimalDigit));
for (var i = 0; i < multiple; i++) {
unit.push('亿');
}
return unit.join('');
} else {
return me.addWan(integer, number, 0, decimalDigit);
}
} else {
return number;
}
}
js将数字转换为带有单位的中文表示的更多相关文章
- JS将数字转换为中文
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JS将数字转换为大写汉字人民币
<script language="jscript"> function convertCurrency(currencyDigits) { // Constants: ...
- Javascript中将数字转换为中文的方法
//js实现将数字1234转化为汉字字符串(一千二百三十四)(或大写汉字壹仟贰佰叁拾肆): /*阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十.百.千.万.亿. 以“万 ...
- 将金额数字转换为大写汉字的js函数
//将金额数字转换为大写汉字的函数 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁 ...
- C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字
项目中经常会格式化数据,转换数字的使用情况比较多,记录一下数字转换的方法! 如果需要转换为繁体中文,将数组里的汉字换成繁体中文即可. 1.阿拉伯数字转换为中文数字 /// <summary> ...
- js控制文本框仅仅能输入中文、英文、数字与指定特殊符号
JS 控制文本框仅仅能输入数字 <input onkeyup="value=value.replace(/[^0-9]/g,'')"onpaste="value=v ...
- PHP金额工具类之将阿利伯数字转换为大写中文数字
1.将阿拉伯数字转换为中文大写数字 <?php namespace core\components; class PriceHelper extends \yii\base\Component{ ...
- JS判断数字、中文、小数位数
1.JS判断数字 ①var value=$("#test").val(); if(!isNaN(value)){ alert("是数字"); }else{ al ...
- JS 正则表达式 控制文本框只能输入中文、英文、数字与指定特殊符号
JS 正则表达式 控制文本框只能输入中文.英文.数字与指定特殊符号(屏蔽表情输入) onkeyup:释放键盘事件 onpaste:粘贴事件 oncontextmenu :鼠标右击事件 只能输入中文: ...
随机推荐
- git解决冲突方式
Git解决冲突 安装beyond compare 4 2.配置git对比工具 #difftool 配置 git config --global diff.tool bc4 git config --g ...
- poj3613Cow Relays——k边最短路(矩阵快速幂)
题目:http://poj.org/problem?id=3613 题意就是求从起点到终点的一条恰好经过k条边的最短路: floyd+矩阵快速幂,矩阵中的第i行第j列表示从i到j的最短路,矩阵本身代表 ...
- glance image-create --name "linux-core-mini-01" --file /cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --progress --visibility public
glance image-create --name "linux-core-mini-01" --file /cirros-0.3.4-x86_64-disk.img --dis ...
- <正则吃饺子> :关于新项目的环境搭建(一)
来到新的公司,需要使用myeclipse.maven.svn.tomcat.mysql: 对于先前一直只用 netbeans 的我,在这里把环境搭建 的情况记录下来.来加深自己的学习和帮助后来者. 第 ...
- WebService完成文件上传下载
由于开发需要使用webservice,第一个接触的工具叫axis2.项目开发相关jar下载. service端: 启动类: import java.net.InetAddress; import ja ...
- 1-2关键字 & 2-1什么是变量
2-1什么是变量 驼峰第一个字母首字母小写后面字母首字母大写 Pascal命名规范:
- html和xml的区别
一.HTML HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 二.XML XML即ExtentsibleMarkup Language(可扩展标记语 ...
- easyui datagrid 列对不齐
function initBIRDataGrid(id,cols){ $('#basicTable').datagrid({ //列表区域 pageList: [5, 10, 15], fit:tru ...
- 如何实现Ant design表单组件封装?
目标:自己实现一个antd表单组件 先看下Ant Design官网上给出的表单组件用法: import React, { Component } from 'react' import { Form, ...
- 洛谷 - P3966 - 单词 - AC自动机
https://www.luogu.org/problemnew/show/P3966 因为文本串就是字典本身,所以这个和平时的AC自动机不太一样.平时的query要沿着fail树把子树的出现次数依次 ...