<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<title>金额转大写</title>
</head>
<body>
<div>
<h2>金额转大写</h2>
<lable for="amount">请输入金额:¥</lable>
<input id="amount" type="text" />
<p></p>
<button onclick="change()">点击转换</button>
<p id="demo"></p>
</div>
<脚本类型=“text/javascript”>
functionchange(){
varmoney=document.getElementById("amount").value;
document.getElementById("demo").innerHTML=toCapitalization(money);
}
function toCapitalization(money){
var Capitalization= "";
var unitInt="整";
if(isAmount(money)){
if(money==parseInt(money)){
var l=getlength(money);
if(l>=10){
capitalization="您输入的金额过大!";
} else{
capitalization=getCap(money,l,0,l)+unitInt;
}
}else{
var mPstr=money+" ";
var m=mPstr.split(".");
var mPInt=m[0];
var mPPoint=m[1];
var len=mPPoint.length;
var numI=parseInt(mPInt);
var numP=parseInt(mPPoint);
大写=getCap(numI ,getlength(numI),0,len)
+getCap(numP,getlength(numP),1,len);
}
}else{
capitalization="请输入正确的金额!";
}
返回大写;
}
function getlength(num){
var str=num+"";
return str.length;
}
function isAmount(num){
var ret =/^(([1-9][0-9]*)|((([0])|([1-9][0-9]*))\.(([1-9]) |([0-9][1-9])))|([0]))$/;
if(ret.test(num)){
return true;
}else{
return false;
}
}
function gerArray(num,l,k,len){
var nums=[];
if(k==1 && l!=len){
nums[0]=0;
nums[1]=num;
}else{
for(i=1;i<=l;i++){
nums[l-i]=num%10 ;
if(l-i>0){
num=(num-nums[l-i])/10;
}
}
}
return nums;
}
function getUnit(i,k){
//k=0 表示整数部分k=1表示小数部分
var unit=["圆","拾","佰","仟","万","拾","佰","仟","亿"];
var unitPoint=["角","分"];
if(i<9 && k==0){
返回单位[i ];
}else if(i<2 && k==1){
返回unitPoint[i];
}
}
function getNumber(i){
var Capitalization=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];
返回大小写[i];
}
function getCap(num,l,k,len){
var nums=gerArray(num,l,k,len);
var str='';
if(k==0){
for(i=0;i str=str+getNumber(nums[i])+getUnit(l-i-1,k); } }else{ for(i= 0;i str=str+getNumber(nums[i])+getUnit(i,k); } } return str; }