function NumericKeyUp(p,s){
if(p == 0){
return;
}
var intLen = p - s ;
var re = /[^0-9\.]/;
var srcObj = event.srcElement;
if(srcObj && srcObj.type == 'text'){
var text = srcObj.value;
var reg = new RegExp(re );
var changed = false;
while(reg.test(text)){
changed = true;
text = text.replace(reg , "");
}
re = /^.*\..*(\.).*$/;
reg = new RegExp(re );
while(reg.test(text)){
changed = true;
text = text.replace(RegExp.$1 , "");
}
if(! validateNumeric(text,p,s)){
if(text.indexOf(".") == -1){
text = (parseInt(text) + "").substr(0,intLen);
}else{
var arr = text.split(".");
if(arr.length >=2){
var intValue = arr[0];
if(intValue.length > intLen){
intValue = intValue.substr(0,intLen);
}
var floatValue = arr[1];
if(floatValue.length > s){
floatValue = floatValue.substr(0,s);
}
text = intValue + "." + floatValue ;
}
}
changed = true;
}
if(changed){
srcObj.value = text;
srcObj.select();
}
}
return true;
}
调用:onkey="NumericKeyUp(11,2);" onkeypress="NumericKeyPress(11,2);"
分享到:
相关推荐
综上所述,通过JavaScript的`toFixed()`、自定义函数和`toLocaleString()`方法,我们可以方便地实现金额数字的规范处理,包括保留两位小数、转换为大写金额以及遵循货币格式。在实际项目中,这些技术可以结合使用,...
此程序能够处理的金额范围最大支持到“仟万亿”,即16位整数,同时还能处理带有两位小数的情况。 #### 主要特点与限制 1. **最大支持金额:** - 最大支持金额为“百万亿”(15位整数,2位小数),或者“仟万亿”...
可以使用`ToString()`方法配合特定的格式字符串,例如`"{0:0.00}"`,将金额转换为带有两位小数的字符串。 然后,我们从右向左逐位处理金额字符串,将每一位数字替换为对应的汉字数字。这涉及到一系列的条件判断和...
// 实现金额格式化,保留两位小数 } private static String arabicToChineseCapitalization(String amount) { // 实现阿拉伯数字到中文大写数字的转换 } } ``` 以上代码只是一个框架,你需要填充`...
5. 对小数部分处理,如果小数位数超过两位,只保留前两位。根据位数添加对应的“角”或“分”。 6. 最后,将整数部分和小数部分拼接,并根据需要在两者之间添加“点”(小数点)。 在压缩包中,`说明.txt`文件可能...
- 如果当前位是0但下一位不为0,则保留“零”字。 - 根据数字的位置,添加合适的单位(如“元”、“拾”、“佰”等)。 - **小数部分处理**: - 如果小数部分大于0.01,则对其进行四舍五入处理,并提取十分位和...
3. `NUMBERSTRING(ABS(TRUNC(A1)),2)`:将单元格 A1 的绝对值转换为大写金额,保留两位小数。 4. `SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"元[dbnum2]0 角分;;"),...)`:将小数部分转换为大写金额。 5. `SUBSTITUTE(...,...
在Java编程中,将金额的阿拉伯数字转换为中文汉字大写是常见的财务处理需求,主要用于防止数字篡改,增加财务数据的安全性和准确性。这个过程通常称为金额数字化,它涉及到将小数点、整数和小数部分分别转换,并且...
- 将金额格式化为标准的两位小数形式。 4. **构建中文大写金额**: - 循环处理金额字符串中的每一位数字,并将其转换为对应的中文大写金额字符。 - 根据金额大小和特定规则(如“拾”的处理)调整输出结果。 5....
' 将金额转为字符串,保留两位小数 Dim strAmount As String = Format(amount, "0.00") ' 遍历每一位,构建大写金额 For i = Len(strAmount) - 1 To 0 Step -1 Dim digit As Integer = CInt(Mid(strAmount, i...
4. **小数部分处理**:小数部分的处理需要注意保留的位数,通常财务中最多保留到分,所以小数点后两位是必要的。 5. **异常处理**:程序应能处理无效输入,比如非数字字符、超出范围的金额(超过万亿)等。 在描述...
- **格式规范**:遵循财务行业对金额表示的标准格式,如精确到分,保留两位小数。 - **用户体验**:提供清晰的用户提示,如转换成功或失败的信息。 通过上述方法,你可以在VB6.0中实现一个简单的金额大写转换程序...
在IT领域,尤其是在网页开发中,经常需要将用户输入的小写数字转换为大写金额格式,这主要用于财务、发票或银行交易等应用场景。这个过程可以通过JavaScript实现,利用JavaScript的事件处理和字符串操作功能。在本例...
5. **处理小数部分**:小数部分的转换相对简单,只需将其转换为大写即可,注意保留两位。例如,'05'转换为'零伍'。 6. **组合结果**:最后,将整数部分和小数部分的大写形式拼接起来,形成完整的大写金额。 以下是...
小数点后两位以上的数字通常忽略不计,只保留到分。 5. **组合结果**:将整数部分和小数部分的结果进行组合,加上相应的单位(如元、角、分)。注意,如果小数部分为0,可能需要特别处理,如“01”表示一分,“00”...
然后,处理小数部分,考虑到小数点后的两位(人民币通常只保留到分)。这个过程可以通过字符串操作来完成。 以下是一个简单的示例函数: ```csharp public string ConvertToChinese(string amount) { string[] ...
1. **数值范围**:整数部分支持的最大数值为亿,小数部分最多保留三位。 2. **异常处理**:当输入数值超出规定范围时,程序会抛出异常。 3. **零的使用**:需要特别注意“零”的正确使用方式,避免出现不符合规范的...
小数部分同样,但需要注意小数点后的位数限制,通常财务中最多保留两位小数。 3. **处理特殊情况** 在转换过程中,需要处理一些特殊情况,如零开头的数字、负数、以及整数部分末尾的零。零开头的数字需要转换为...
- 首先将输入的金额数值转换为其绝对值,并四舍五入保留两位小数。 - 然后将金额数值乘以100,并将其转换为字符串形式存储到`str4`中,便于后续逐位处理。 2. **字符串长度检查**: - 检查`str4`的长度是否超过...
- 小数部分通常只保留到角分,即最多两位。 - 需要考虑零的情况,例如连续多个零只保留一个“零”字。 - 要确保转换后的字符串语法正确,比如不能出现“零元零角”这样的表达。 #### 二、实现逻辑 根据上述需求,...