第一种方法:

function DX(n) { //金额大写转换函数
if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
return "数据非法";
var unit = "千百拾亿千百拾万千百拾元角分", str = "";
n += "00";
var p = n.indexOf('.');
if (p >= 0)
n = n.substring(0, p) + n.substr(p+1, 2);
unit = unit.substr(unit.length - n.length);
for (var i=0; i < n.length; i++)
str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
}

第二种方法:

function i2c(n){
if(typeof(n) == "number"){
if(-1 == n.toString().indexOf(".")){
return seti2c(n);
}else{
var i,istr,f,fstr,a,rstr;
a = n.toString().split(".");
i = a[0];
f = a[1];
istr = seti2c(i);
fstr = setf2c(f);
rstr = istr+"零"+fstr;
rstr = rstr.replace(/零+/g,"零");
return rstr;
}
}else{
return "---";
}
}

function seti2c(n){
var ns = n.toString();
var tempstr = "";
for(var i=1;i<ns.length+1;i++){
switch(i){
case 1:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"圆"+tempstr;
}else{
tempstr = "圆"+tempstr;
}
break;
case 2:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 3:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 4:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 5:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"万"+tempstr;
}else{
tempstr = "万"+tempstr;
}
break;
case 6:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 7:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 8:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 9:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"亿"+tempstr;
}else{
tempstr = "亿"+tempstr;
}
break;
case 10:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 11:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 12:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
default:break;
}
}
return g2b(tempstr);
}

function setf2c(n){
var ns = n.toString();
var tempstr = "";
for(var i=0;i<ns.length;i++){
switch(i){
case 0:
var t = ns.substr(i,1);
if(t!="0"){
tempstr += t+"角";
}else{
tempstr += "0";
}
break;
case 1:
var t = ns.substr(i,1);
if(t!="0"){
tempstr += t+"分";
}
break;
default:break;
}
}
return g2b(tempstr);
}

function g2b(s){
rs = s.replace(/0+/g,"0");
rs = rs.replace("0圆","圆");
rs = rs.replace("0亿","亿");
rs = rs.replace("0万","万");
rs = rs.replace("亿万","亿");
rs = rs.replace(/0/g,"零");
rs = rs.replace(/1/g,"壹");
rs = rs.replace(/2/g,"贰");
rs = rs.replace(/3/g,"叁");
rs = rs.replace(/4/g,"肆");
rs = rs.replace(/5/g,"伍");
rs = rs.replace(/6/g,"陆");
rs = rs.replace(/7/g,"柒");
rs = rs.replace(/8/g,"捌");
rs = rs.replace(/9/g,"玖");
return rs;
}

转载于:https://www.cnblogs.com/zhenmingliu/archive/2012/05/16/2503541.html

js阿拉伯数字转中文大写相关推荐

  1. 金额阿拉伯数字转换为中文大写

    最近的做项目中需要弄一个金额是阿拉伯数字转为中文大写的金额,自己偷懒了,就总结一下. 第一种方法相对复杂 private static readonly String cnNumber = " ...

  2. VB 阿拉伯数字转换为中文大写数值函数

    Private Function CChinese(StrEng As String) As String If Not IsNumeric(StrEng) Or StrEng Like " ...

  3. 阿拉伯数字 转换 中文大写

    阿拉伯数字 转换 中文大写 <?php class ToChineseNumber {private $money = "";private $cnynums = array ...

  4. Lua阿拉伯数字转中文大写数字

    function numberToString(szNum)---阿拉伯数字转中文大写local szChMoney = ""local iLen = 0local iNum = ...

  5. 阿拉伯数字和中文大写形式的相互转换

    将阿拉伯数字转化为中文大写是很简单很实用的功能,但由于0这个特殊数字的存在使得实现起来并非那么容易,实现这一功能的关键就是对0的正确处理.该程序是我几个月之前写成的,当时没有加注释,现在程序的实现细节 ...

  6. jq 数字转中文数字_阿拉伯数字 转换 中文大写

    阿拉伯数字 转换 中文大写 class ToChineseNumber { private $money = ""; private $cnynums = array(" ...

  7. 将阿拉伯数字转换为中文大写数字 —— pyhton实现

    将阿拉伯数字转换为中文大写数字 -- pyhton实现 在银行的日常业务中,常常需要用到将阿拉伯数字转换为中文大写数字的 功能.这次实验将编写一个程序,将用户输入的阿拉伯数字代表的金额,转换为大写数字 ...

  8. 阿拉伯数字转中文大写

    //=============================阿拉伯数字转中文大写============================= function Chinese(num)  //将阿拉伯 ...

  9. 阿拉伯数字转中文大写和中文小写封装工具类

    package com.springboot.entity.utils; import lombok.extern.slf4j.Slf4j; /**  * @author maniac  * date ...

最新文章

  1. Quartz.Net cron表达式详解
  2. ubuntu mysql vi_Ubuntu16 下安装 mysql
  3. Python机器学习类库常见问题及解决
  4. Special Permutation CodeForces - 1352G(构造)
  5. [GitHub] 75+的 C# 数据结构和算法实现
  6. java判断一个整数是不是素数(质数)
  7. webpack和webpack-dev-server安装配置(遇到各种问题的解决方法)
  8. 甘肃暴雨强度公式_最新给排水计算软件,16大功能常用公式自动计算,配11套施工方案...
  9. matlab 响应曲面,MINITAB 响应曲面法应用
  10. 【收藏的JS库】 Javascript常用的库 (包含图片处理、动画库、语音命令库、视觉检测、机器学习等)
  11. SpringMVC笔记--5处理响应数据ModelAndView
  12. 简单易用的运动控制卡(八):直线插补和手轮运动
  13. flutter 使用阿里图标
  14. libcef-案例展示-将cef浏览器嵌入到mfc中作为子窗口运行
  15. 笔记:常见的约束问题求解算法——乘子法和Frank-Wolfe算法
  16. EagleEye简介:户外视频监控分析和面部识别软件
  17. 创新科技成果广东功能性水稻品种 国稻种芯百团计划行动
  18. Vue中使用Wangeditor富文本实现聊天发送文件驻留
  19. Ubuntu16.04编译android6.0.1源码记录
  20. jupyter notebook 的 hinterland 插件 设置 代码提示但是默认不选中

热门文章

  1. beego学习笔记(4):开发文档阅读(3)
  2. 关于一个简易的实时内存监控系统的思维导图
  3. static final public synchronized abstract
  4. C++类构造函数中的成员初始化
  5. plsql developer的一些使用
  6. 历史回顾,各种编程工具的应用与我的发展历程之二(VB)
  7. Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!
  8. python多功能文本编辑器_多功能文本编辑器(EditPad Pro)
  9. oracle中同义词的用法,Oracle中使用同义词介绍
  10. 线性代数可以速成吗_广播/学习吉他速成靠谱吗?真的可以速成吗?