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实现 阿拉伯数字金额转换为中文大写金额 可以处理负值 //************************* 把数字金额转换成中文大写数字的函数(可处理负值) ****************** ...
随机推荐
- 细讲前端设置cookie, 储存用户登录信息
细讲前端设置cookie 引言 正文 一.设置cookie 二.查看cookie 三.删除cookie 四.封装cookie操作 结束语 引言 我们都知道如果想做一个用户登录并使浏览器保存其登录信息, ...
- java+opencv人脸识别程序2.0
由于第一次写的太粗糙了,所以又修改了一下,详细的更改如下: @ 目录 更改 窗口问题 识别问题 相似度对比 仍然存在的问题 人脸信息显示 图片质量 更改 优化了一下界面风格 窗口问题 原来是在主界面外 ...
- Nginx和FastDfs完整配置过程
借鉴(https://blog.csdn.net/qq_34301871/article/details/80060235) 1.unknown directive "ngx_fastdfs ...
- MapReduce框架原理
MapReduce框架原理 3.1 InputFormat数据输入 3.1.1 切片与MapTask并行度决定机制 1.问题引出 MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个J ...
- 启动tomcat出现闪退的原因
出现闪退的可能有几点: 1.没有安装jdk或者配置jdk是否配置成功 2.找不到jdk安装的路径 3.tomcat环境配置失败 如果是第二点原因(确保第一第三点配置都正确无误)找不到jdk路径的话,可 ...
- 获取 python 包的路径
root@ostack01:~# python Python 2.7. (default, Nov , ::) [GCC 5.4. ] on linux2 Type "help", ...
- 自动部署Asp.Net Core到Docker
原文链接:个人博客:自动部署Asp.Net Core至Docker 本文简介 最近在开发一个管理系统,代码框架是用的前后台分离的方式 后台使用的是Asp.Net Core平台,开发所有业务,向前台提供 ...
- Java方法传参,测试在方法内部改变参数内容是否会影响到原值
我分了三种类型的参数进行测试 一.基本类型 public static void main(String[] args) { System.out.println("验证基本类型int作为参 ...
- 哇,ElasticSearch多字段权重排序居然可以这么玩
背景 读者提问:ES 的权重排序有没有示列,参考参考? 刚好之前也稍微接触过,于是写了这篇文章,可以简单参考下. 在很多复杂的业务场景下,排序的规则会比较复杂,单一的降序,升序无法满足日常需求.不过 ...
- 力扣leetcode 56. 合并区间
56. 合并区间 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: ...