将数字转换成人民币大写

//将数字转换成人民币大写
function SmallToBig(number)
{
 var chineseDigitalString = "零壹贰叁肆伍陆柒捌玖";
 var arabianDigitalString = "0123456789";
 var chineseUnits = new Array("分", "角", "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万");
 
 var numericString = NumberToString(number);
 
 if (numericString == null)
 {
//  alert("请输入数字,最多两位小数!");
  return;
 }
 if(isNum(number)&&parseFloat(number)==0){
  return "零元"
 }
 var bigStyleString = "";
 var length = numericString.length;
 var index = length - 1;
 
 // "2323300"
 for (var i = 0; i < length; i++)
 {
  var digit = numericString.charAt(i);
  var unit;
  var x;
 
  x = chineseDigitalString.charAt(arabianDigitalString.indexOf(digit))
  unit = chineseUnits[index];
 
  bigStyleString += x + unit;
 
  index--;
 }
 // 叁亿叁仟零佰零拾零万贰仟零佰零拾零元贰角叁分
 
 bigStyleString = bigStyleString.replace(/零亿/g, "零");
 bigStyleString = bigStyleString.replace(/零万/g, "万");
 bigStyleString = bigStyleString.replace(/零仟/g, "零");
 bigStyleString = bigStyleString.replace(/零佰/g, "零");
 bigStyleString = bigStyleString.replace(/零拾/g, "零");
 bigStyleString = bigStyleString.replace(/零{2,}/g, "零");
 
 if (bigStyleString.indexOf("零元") != 0)
  bigStyleString = bigStyleString.replace(/零元/g, "元");
 else
  bigStyleString = bigStyleString.replace(/零元/g, "");

 
 bigStyleString = bigStyleString.replace(/零角零分/g, "");
 bigStyleString = bigStyleString.replace(/零分/g, "");
 
 
// if (bigStyleString.indexOf("元") == bigStyleString.length - 1)
 // bigStyleString += "整";
 
 return bigStyleString+"整";
}
function NumberToString(number)
{
 var numericString = number.toString();
 
 var expression  = new RegExp(/^\d+$/);
 var expression2 =  new RegExp(/^\d+\.\d{2}$/);
 var expression1 =  new RegExp(/^\d+\.\d{1}$/);

 if (expression.test(numericString) == false && expression1.test(numericString) == false && expression2.test(numericString) == false)
 {
  alert("请输入数字,最多两位小数!");
  return null;
 }
 
 if (expression1.test(numericString) == true)
 {
  numericString += "0"
 }
 else if (expression.test(numericString) == true)
 {
  numericString += ".00"
 }
 
 if (numericString.length > 16)
 {
  alert("整数部分最多14位,小数部分最多2位!");
  return;
 }
 
 return numericString.replace(".", "");
}

你可能感兴趣的:(转换)