必威体育Betway必威体育官网
当前位置:首页 > IT技术

阿拉伯数字跟中文汉字互转js

时间:2019-09-12 13:10:00来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

阿拉伯数字

有些时候需要用到阿拉伯数字转中文汉字的需求,阿拉伯数字在代码上比较好操作,比如++,–等操作,加上jsp里的foreach标签,status里可以知道当前行号,但是页面需要显示中文汉字,如第1阶段,第2阶段变成第一阶段,第二阶段等,这个时候就需要一个js进行转换。

阿拉伯数字–>中文汉字

代码如下:

<script type="text/javascript">
		var chnNumChar = ["零","一","二","三","四","五","六","七","八","九"];
		var chnUnitSection = ["","万","亿","万亿","亿亿"];
		var chnUnitChar = ["","十","百","千"];

		function SectionToChinese(section){
			var strIns = '', chnStr = '';
			var unitPos = 0;
			var zero = true;
			while(section > 0){
				var v = section % 10;
				if(v === 0){
					if(!zero){
						zero = true;
						chnStr = chnNumChar[v] + chnStr;
					}
				}else{
					zero = false;
					strIns = chnNumChar[v];
					strIns += chnUnitChar[unitPos];
					chnStr = strIns + chnStr;
				}
				unitPos++;
				section = Math.floor(section / 10);
			}
			return chnStr;
		}

		function NumberToChinese(num){  
			  var unitPos = 0;  
			  var strIns = '', chnStr = '';  
			  var needZero = false;  
			   
			  if(num === 0){  
			    return chnNumChar[0];  
			  }  
			   
			  while(num > 0){  
			    var section = num % 10000;  
			    if(needZero){  
			      chnStr = chnNumChar[0] + chnStr;  
			    }  
			    strIns = SectionToChinese(section);  
			    strIns += (section !== 0) ? chnUnitSection[unitPos] : chnUnitSection[0];  
			    chnStr = strIns + chnStr;  
			    needZero = (section < 1000) && (section > 0);  
			    num = Math.floor(num / 10000);  
			    unitPos++;  
			  }  
			   
			  return chnStr;  
		}  
		alert(NumberToChinese(123));
	</script>

运行页面,弹出一百二十三

这里写图片描述

中文汉字–>阿拉伯数字

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/JavaScript">
		var chnNumChar = {
			零:0,
			一:1,
			二:2,
			三:3,
			四:4,
			五:5,
			六:6,
			七:7,
			八:8,
			九:9
		};

		var chnNameValue = {
			十:{value:10, secUnit:false},
			百:{value:100, secUnit:false},
			千:{value:1000, secUnit:false},
			万:{value:10000, secUnit:true},
			亿:{value:100000000, secUnit:true}
		}

		function ChineseToNumber(chnStr){
			var rtn = 0;
			var section = 0;
			var number = 0;
			var secUnit = false;
			var str = chnStr.split('');

			for(var i = 0; i < str.length; i++){
				var num = chnNumChar[str[i]];
				if(typeof num !== 'undefined'){
					number = num;
					if(i === str.length - 1){
						section += number;
					}
				}else{
					var unit = chnNameValue[str[i]].value;
					secUnit = chnNameValue[str[i]].secUnit;
					if(secUnit){
						section = (section + number) * unit;
						rtn += section;
						section = 0;
					}else{
						section += (number * unit);
					}
					number = 0;
				}
			}
			return rtn + section;
		}

		alert(ChineseToNumber('二百二十九'));
	</script>
</body>
</html>

运行弹出229

这里写图片描述

###专业墙纸贴纸厨房用具装饰出售,本人网店经营

博客对你有用记得访问下哦,增加下访问量,如有需要可以下单购买哦_。https://item.taobao.com/item.htm?id=569617707364

相关阅读

使用MD5在线加解密工具,对汉字进行加密,得到不同的结果

1. 问题背景 使用相同的汉字字符串进行MD5计算,有时候会遇到:使用不同的在线工具,得到不同的MD5计算结果。 2. 原因 出现这样情况的

汉字字符集编码查询 unicode编码查询

查询网址: https://www.qqxiuzi.cn/bianma/zifuji.php 查询示例: 常见的汉字字符集编码: GB2312编码:1981年5月1日发布的简体中

STM32汉字字模制作详解(OLED实战)

之前没有用过OLED来显示汉字,今天心血来潮想做一个RTC的万年历,想着就用OLED来用汉字显示一下,(stm32万年历制作链接:点击打开链接),之

汉字发展介绍

abstract: 包括汉字发展-数量-国标 汉字的数量并没有准确数字,大约将近十万个(北京国安咨询设备公司汉字字库收入有出处汉字91251

汉字区位码查询

最近有个哥们请我帮他们单位整一个区位码查询的东东。弄了一下,放在这里,请有用的着的哥们参考。有不妥的地方,请大家多提意见。原理

分享到:

栏目导航

推荐阅读

热门阅读