在input中添加:
onblur="doub(this);chineseNumber(document.all('apply.checkMoneySum').value,'checkMoneySumBig')"
//金额保留两位小数
function doub(ctrlName)
{
if(ctrlName.value != "")
ctrlName.value=parseFloat(ctrlName.value).toFixed(2);
}
//金钱数字转人民币大写 num 就是数字,tarfield 指填充到那里显示中文
function chineseNumber(num,tarfield)
{
if(""==num)
{
document.all(tarfield).value="";
return;
}
if(parseFloat(num) == 0)
{
document.all(tarfield).value="零圆整";
return;
}
if (""==num || isNaN(num) || num > Math.pow(10, 12)) return ""
var cn = "零壹贰叁肆伍陆柒捌玖"
var unit = new Array("拾佰仟", "分角")
var unit1= new Array("万亿", "")
var numArray = num.toString().split(".")
var start = new Array(numArray[0].length-1, 2)
function toChinese(num, index)
{
var num = num.replace
(/\d/g, function ($1)
{
return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
}
)
return num
}
for (var i=0; i<numArray.length; i++)
{
var tmpD = ""
for (var j=0; j*4<numArray[i].length; j++)
{
var strIndex = numArray[i].length-(j+1)*4
var str = numArray[i].substring(strIndex, strIndex+4)
var start = i ? 2 : str.length-1
var tmp1 = toChinese(str, i)
tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "")
tmp1 = tmp1.replace(/^壹拾/, "拾")
tmpD = (tmp1+unit1[i].charAt(j-1)) + tmpD
}
numArray[i] = tmpD
}
numArray[1] = numArray[1] ? numArray[1] : ""
numArray[0] = numArray[0] ? numArray[0]+"圆" : numArray[0], numArray[1] = numArray[1].replace(/^零+/, "")
numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1]+"整"
//return numArray[0]+numArray[1]
if (document.all(tarfield)!=null)document.all(tarfield).value=numArray[0]+numArray[1];
}
分享到:
相关推荐
数字0-9分别对应大写文字零、壹、贰、叁、肆、伍、陆、柒、捌、玖,小数点后第一位代表角,第二位代表分。因此,输入的数字1.56在大写中应表示为"壹元伍角陆分"。 接下来,我们将用Java语言来实现这个功能。从提供...
输入字符,通过正则验证是否为金额不超过万亿精确到小数点后两位,然后将数字转换为大写 包括后台java正则验证及前台js验证 请输入一个数字(精确到小数点后两位): fdsa54325.54 fdsa54325.54 false 请输入一个...
1. 检查输入:确认输入的字符串仅包含数字和小数点,且小数点后最多两位。 2. 去除非数字字符:若存在其他字符,提示错误。 3. 将金额分为整数部分和小数部分:通过小数点分割。 4. 处理整数部分:从右到左,依次...
数字转换成大写人民币,支持小数点后两位的转换。很好用哦
这里使用了`MID`函数来获取小数点后的一位或两位数字,并将其转换为中文大写表示。 - **组合结果**:最后将整数部分和小数部分的结果进行组合,得到完整的中文大写金额表示。 ### 4. 示例演示 假设单元格F26中的...
如果小数部分不足两位,还会补上“零”。 使用这个函数时,只需要传入一个包含小写金额的字符串,函数会返回相应的大写金额。例如,`大写金额("123456.78")`将返回`"壹拾贰万叁仟肆佰伍拾陆元柒角捌分整"`。 需要...
2. **分段处理**:根据中文数字的进位规则,可以将数字字符串按每一位处理,然后组合成中文大写。例如,对于数字“1234”,可以分别处理“1”、“2”、“3”、“4”。 3. **转换单个数字**:为每个数字(0-9)编写...
这个项目描述了一个程序,能够处理Excel表格中的数据,将阿拉伯数字自动转换为英文和大写形式,并且保留小数点后两位,以满足财务精度的要求。 首先,我们需要了解阿拉伯数字和英文数字的对应关系。阿拉伯数字包括0...
小数点用“点”表示,小数部分不足两位时需要补零。 5. **组合结果**:将整数部分和小数部分的结果连接起来,并添加相应的单位,如“元”、“角”、“分”。 6. **特殊处理**:处理零的情况,如“零元整”、“零角...
在金融和会计领域,金额通常会以两种形式存在:小写和大写。小写金额是常规的数字表示,如123456.78;而大写金额则是为了防止篡改和提高凭证的正式性,常用于支票、合同等正式文档中,例如“壹拾贰万叁仟肆佰伍拾陆...
3. **小数部分**:分为角和分,对应汉字角和分,小数点后两位表示,不足两位的补零。 4. **特殊处理**:金额为0时,大写应为“零元整”或“零圆整”;无小数部分时,需添加“整”或“正”。 在Java中实现这个功能,...
如果小数位数超过了两位,可以按照约定省略或者保留前两位。 以下是一种可能的实现思路: 1. 定义一个字符串数组,存储0到9的中文大写数字。 2. 创建两个字符串变量,分别保存整数部分和小数部分。 3. 分离输入的...
- **处理小数部分**:如果数字包含小数,可以处理小数点后的一到两位,超出部分通常忽略。同样,转换为大写汉字。 - **特殊处理**:对于“一”和“二”,在处理整数部分时,当它们出现在最高位(亿位以上)时,...
对于小数部分,也有类似的转换规则,但通常只转换到分(即两位小数),且小数点用“点”或“圆点”表示。对于超过四位的大数,可能需要递归或循环处理,确保所有位数都被正确转换。 总的来说,小写数字转换大写数字...
- 将金额格式化为标准的两位小数形式。 4. **构建中文大写金额**: - 循环处理金额字符串中的每一位数字,并将其转换为对应的中文大写金额字符。 - 根据金额大小和特定规则(如“拾”的处理)调整输出结果。 5....
输入数字转换为人民币大写,Delphi源代码,代码里有个重要的转换单位,此单位共定义两个函数来实现数字金额的中文大写转化,此函数可支持12位整数。程序思路如下: 将小数点前的整数取出,算出整数长度,不足千亿时...
3. **处理小数部分**:小数部分按照每两位一组(角、分)转换为中文大写。 4. **添加单位**:根据整数和小数部分的长度,添加相应的货币单位,如元、角、分、万、亿等。 5. **处理特殊情况**:对于零、负数和非数字...
本文将深入探讨如何使用JavaScript来实现金额数字的大写转换、保留两位小数以及遵循货币格式规范。 一、金额数字规范 在金融领域,金额通常需要遵循特定的规范,例如,数值部分应精确到小数点后几位,以及在表示...
在使用这些公式或自定义函数时,需要确保数值已经以正确的格式(例如,小数点后两位)存储,并且考虑到负数的情况。此外,对于非常大的数值,可能需要额外的处理,因为某些公式可能无法处理超出一定范围的数字。总的...
取值为0表示不进行四舍五入,1表示保留两位小数并四舍五入,2表示保留两位小数但不进行四舍五入。 - `@intPrecision`:一个整型变量,默认值为2,用于设定数值的精度,即小数点后的位数,取值范围为0到4。 ### 功能...