输入小写金额同时显示大写金额
2006-02-17 02:52
309 查看
<script language="JavaScript">
function daxie()
{
this.values = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
this.digits = ["", "拾", "佰", "仟"];
}
function daxie.prototype.getdx(num)
{
if(isNaN(num)) return "";
var number = Math.round(num*100)/100;
number = number.toString(10).split('.');
var integer = number[0];
var len = integer.length;
if (len > 12)
return "数值超出范围!支持的最大数值为 999999999999.99";
var returnValue = this.bns(integer.slice(-4));
if (len > 4)
returnValue = this.bns(integer.slice(-8,-4)) + (integer.slice(-8,-4)!="0000"?"万":"") + returnValue;
if (len > 8)
returnValue = this.bns(integer.slice(-12,-8)) + "亿" + returnValue;
if(returnValue!="")
returnValue += "圆";
if(number.length==2)
{
var cok = number[1].split('');
if(returnValue!="" || cok[0]!="0")
returnValue += this.values[parseInt(cok[0])] + (cok[0]!="0"?"角":"");
if(cok.length>=2)
returnValue += this.values[parseInt(cok[1])] + "分";
}
if(returnValue!="" && !/分$/.test(returnValue))
returnValue += "整";
return returnValue;
}
function daxie.prototype.bns(str)
{
var num = str.split('');
var dsl = num.length-1;
var returnValue = "";
for (var i=0; i<=dsl; i++)
returnValue += this.values[parseInt(num[i])] + (num[i]!='0'?this.digits[dsl-i]:"");
returnValue = returnValue.replace(/零+$/, "").replace(/零{2,}/, "零");
return returnValue;
}
//////////////////////////////////////////////
var stmp = "";
var dfs = new daxie();
function nst(t)
{
if(t.value==stmp) return;
var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1");
var txt = ms.split(".");
while(/\d{4}(,|$)/.test(txt[0]))
txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2");
t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:"");
bbb.value = dfs.getdx(parseFloat(ms));
}
</script>
小写金额:<input type="text" name="aaa" onkeyup="nst(this)"><br>
大写金额:<input type="text" name="bbb" size=80>
(From www.51js.com)
function daxie()
{
this.values = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
this.digits = ["", "拾", "佰", "仟"];
}
function daxie.prototype.getdx(num)
{
if(isNaN(num)) return "";
var number = Math.round(num*100)/100;
number = number.toString(10).split('.');
var integer = number[0];
var len = integer.length;
if (len > 12)
return "数值超出范围!支持的最大数值为 999999999999.99";
var returnValue = this.bns(integer.slice(-4));
if (len > 4)
returnValue = this.bns(integer.slice(-8,-4)) + (integer.slice(-8,-4)!="0000"?"万":"") + returnValue;
if (len > 8)
returnValue = this.bns(integer.slice(-12,-8)) + "亿" + returnValue;
if(returnValue!="")
returnValue += "圆";
if(number.length==2)
{
var cok = number[1].split('');
if(returnValue!="" || cok[0]!="0")
returnValue += this.values[parseInt(cok[0])] + (cok[0]!="0"?"角":"");
if(cok.length>=2)
returnValue += this.values[parseInt(cok[1])] + "分";
}
if(returnValue!="" && !/分$/.test(returnValue))
returnValue += "整";
return returnValue;
}
function daxie.prototype.bns(str)
{
var num = str.split('');
var dsl = num.length-1;
var returnValue = "";
for (var i=0; i<=dsl; i++)
returnValue += this.values[parseInt(num[i])] + (num[i]!='0'?this.digits[dsl-i]:"");
returnValue = returnValue.replace(/零+$/, "").replace(/零{2,}/, "零");
return returnValue;
}
//////////////////////////////////////////////
var stmp = "";
var dfs = new daxie();
function nst(t)
{
if(t.value==stmp) return;
var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1");
var txt = ms.split(".");
while(/\d{4}(,|$)/.test(txt[0]))
txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2");
t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:"");
bbb.value = dfs.getdx(parseFloat(ms));
}
</script>
小写金额:<input type="text" name="aaa" onkeyup="nst(this)"><br>
大写金额:<input type="text" name="bbb" size=80>
(From www.51js.com)
相关文章推荐
- js脚本_小写金额转换成大写(支持千分位格式及负数输入,整数部分可达44位-千正~元,小数部分可达5位-角~丝) AmountInWords(dValue, maxDec)
- 杂记c-----小写金额转化成大写数字;点击表格table时,当前被点击的tr行变色,其它行不变色;input隐藏显示
- 正则限定输入框输入十六进制数,同时小写改大写
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用10号功能调用。),将其中的小写英文 字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。
- 试编写一个汇编语言程序,大写---小写 要求对键盘输入的大写字母用小写字母显示出来。
- 4.从键盘输入一个大写英文字母,将其转换为小写字母后,将转换后的小写英文字母及其十进制的ASCII码显示到屏幕上。
- C语言实验:输入一个整数的小写金额值,转化为大写金额值并输出
- C语言实验:输入一个整数的小写金额值,转化为大写金额值并输出
- Android studio 在使用控件Button时候输入text,小写字母显示大写
- ,输入小写金额,输出大写金额!
- 编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)
- ,输入小写金额,输出大写金额
- C语言实验——输入一个整数的小写金额值,转化为大写金额值并输出
- sql函数,输入小写金额,输出大写金额
- 写一个方法完成如下功能,判断从文本框textbox1输入的一个字符,如果是数字则求该数字的阶乘,如果是小写字条,则转换为大写,大写字符不变,结果在文本框textbox2中显示
- js 小写金额转大写金额
- 面试题目,金融行业交易金额小写转换为大写的方法,我写的几个版本
- 在EXCEL中金额小写转换为大写
- JAVA 输入一个字符串,将大写字母改成小写,小写字母改成大写
- Java小写金额转换大写与金额比对(支持繁体大写金额)