JS将数字转换为中文
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS将数字转换为中文</title>
</head>
<body>
<script>
// 定义转换函数
function transform(tranvalue){
try{
var i=1;
var dw2 = new Array("","万","亿");//大单位
var dw1 = new Array("拾","佰","仟");//小单位
var dw = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");//整数部分用
//以下是小写转换成大写显示在合计大写的文本框中
//分离整数与小数
var source = splits(tranvalue);
var num = source[0];
var dig = source[1]; //转换整数部分
var k1=0;//计小单位
var k2=0;//计大单位
var sum = 0;
var str="";
var len = source[0].length;//整数的长度
for(i=1;i<=len;i++){
var n = source[0].charAt(len-i);//取得某个位数上的数字
var bn = 0;
if(len-i-1>=0){
bn = source[0].charAt(len-i-1);//取得某个位数前一位上的数字
}
sum = sum+Number(n);
if(sum!=0){
str = dw[Number(n)].concat(str);//取得该数字对应的大写数字,并插入到str字符串的前面
if(n=='0')sum = 0;
}
if(len-i-1>=0){//在数字范围内
if(k1!=3){//加小单位
if(bn!=0){
str = dw1[k1].concat(str);
}
k1++;
}else{//不加小单位,加大单位
k1=0;
var temp = str.charAt(0);
if(temp=="万" || temp=="亿")//若大单位前没有数字则舍去大单位
str = str.substr( 1, str.length-1);
str = dw2[k2].concat(str);
sum = 0;
}
}
if(k1==3)//小单位到千则大单位进一
{ k2++;}
} //转换小数部分
var strdig="";
if(dig!=""){
var n = dig.charAt(0);
if(n!=0){
strdig += dw[Number(n)]+"角";//加数字
}
var n = dig.charAt(1);
if(n!=0){
strdig += dw[Number(n)]+"分";//加数字
}
}
str += "元"+strdig;
}catch(e){
return "0元";
}
return str;
} //拆分整数与小数
function splits(tranvalue){
var value = new Array('','');
temp = tranvalue.split(".");
for(var i=0;i<temp.length;i++){
value[i] = temp[i];
}
return value;
} // 调用
var a = '12345678';
var b = transform(a);
console.log(b); </script>
</body>
</html>
运行后的结果:
壹仟贰佰叁拾肆万伍仟陆佰柒拾捌元
JS将数字转换为中文的更多相关文章
- Javascript中将数字转换为中文的方法
//js实现将数字1234转化为汉字字符串(一千二百三十四)(或大写汉字壹仟贰佰叁拾肆): /*阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十.百.千.万.亿. 以“万 ...
- JS判断数字、中文、小数位数
1.JS判断数字 ①var value=$("#test").val(); if(!isNaN(value)){ alert("是数字"); }else{ al ...
- c++ 实现将数字转换为中文数字输出
实现如下函数: void printInChinese(int num); 这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法. 例如: 17 -> 一十七 ...
- js将数字转换为带有单位的中文表示
好不容易找到了, 实测可行, 记录一下. 到时候调用方法 addChineseUnit , 其他两个方法在addChineseUnit中有调用 /** * 为数字加上单位:万或亿 * * 例如 ...
- JS货币数字转换中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS将数字转换为大写汉字人民币
<script language="jscript"> function convertCurrency(currencyDigits) { // Constants: ...
- 用SQL将数字转换为中文数字
IF OBJECT_ID('fn_GetChnNum') IS NOT NULL BEGIN DROP FUNCTION dbo.fn_GetChnNum; END; GO CREATE FUNCTI ...
- PHP金额工具类之将阿利伯数字转换为大写中文数字
1.将阿拉伯数字转换为中文大写数字 <?php namespace core\components; class PriceHelper extends \yii\base\Component{ ...
- JS实现 阿拉伯数字金额转换为中文大写金额 可以处理负值
JS实现 阿拉伯数字金额转换为中文大写金额 可以处理负值 //************************* 把数字金额转换成中文大写数字的函数(可处理负值) ****************** ...
随机推荐
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- 精讲RestTemplate第10篇-使用代理作为跳板发送请求
本文是精讲RestTemplate第10篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层 ...
- C++开发时字符编码的选择
最近看了很多有关字符编码的讨论帖子, 自己也做了很多尝试, 针对linux和windows上字符编码的选择做了个简单整理, 在此做个记录 首先是基础编码知识, 下面我列出的4个编码方式或字符集是我们应 ...
- OptaPlanner的新约束表达方式 Constraint Streams
有好些时间没有写过关于OptaPlanner的东西了,其实近半年来,OptaPlanner还是推出了不少有用.好用的新特性.包括本文讲到的以Stream接口实现评分编程.关于OptraPlanner的 ...
- python爬虫以及后端开发--实用加密模板整理
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...
- Java中校验身份证号合法性(真伪),获取出生日期、年龄、性别、籍贯
开发过程中有用的身份证号的业务场景,那么校验身份证的合法性就很重要了,另外还有通过身份证获取出生日期.年龄.性别.籍贯等信息, 下面是本人在开发中用到的关于校验身份证真伪的工具类,可以直接拿来使用,非 ...
- WS以及NW小世界网络的生成(MATLAB)
WS小世界网络生成算法,一般小世界网络生成算法速度慢,节点度分布与数学推导不符,在网络仿真中造成不便,这里针对实际网络动力学仿真过程撰写了WS小世界网络的MATLAB生成算法,并考虑了矩阵化,具有较高 ...
- 7. Jackson用树模型处理JSON是必备技能,不信你看
每棵大树,都曾只是一粒种子.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...
- 3d相册展示
示例代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta ...
- docker部署数据库
搜索数据库镜像images docker search mysql 搜索结果如下图所示: 选择合适自己的mysql版本 因为mysql新版本出来了,很多特性没有学习,所以笔者安装了mysql:5.6 ...