ios金额输入小数点等问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios金额输入小数点等问题相关的知识,希望对你有一定的参考价值。
参考技术A - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)stringif([textField.textrangeOfString:@"."].location==NSNotFound)
isHaveDian=NO;
if([stringlength] >0)
unicharsingle = [stringcharacterAtIndex:0];//当前输入的字符
if((single >='0'&& single <='9') || single =='.')//数据格式正确
//首字母不能为0和小数点
if([textField.textlength] ==0)
if(single =='.')
//[self showMyMessage:@"亲,第一个数字不能为小数点!"];
[textField.textstringByReplacingCharactersInRange:rangewithString:@""];
returnNO;
//if (single == '0')
//
//
////[self showMyMessage:@"亲,第一个数字不能为0!"];
//
//[textField.text stringByReplacingCharactersInRange:range withString:@""];
//
//return NO;
//
//
//输入的字符是否是小数点
if(single =='.')
if(!isHaveDian)//text中还没有小数点
isHaveDian=YES;
returnYES;
else
//[self showMyMessage:@"亲,您已经输入过小数点了!"];
[textField.textstringByReplacingCharactersInRange:rangewithString:@""];
returnNO;
else
if(isHaveDian) //存在小数点
//判断小数点的位数
NSRangeran = [textField.textrangeOfString:@"."];
if(range.location- ran.location<=2)
returnYES;
else
//[self showMyMessage:@"亲,您最多输入两位小数!"];
returnNO;
else
returnYES;
else//输入的数据格式不正确
//[self showMyMessage:@"亲,您输入的格式不正确!"];
[textField.textstringByReplacingCharactersInRange:rangewithString:@""];
returnNO;
else
returnYES;
Android EditText 输入金额(小数点后两位)
EditText mEdit = new EditText(context);
InputType.TYPE_NUMBER_FLAG_DECIMAL、小数点型
InputType.TYPE_CLASS_NUMBER 整数型
设置Input的类型两种都要
mEdit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER);
设置字符过滤
mEdit.setFilters(new InputFilter[]{new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if(source.equals(".") && dest.toString().length() == 0){
return "0.";
}
if(dest.toString().contains(".")){
int index = dest.toString().indexOf(".");
int mlength = dest.toString().substring(index).length();
if(mlength == 3){
return "";
}
}
return null;
}
}});
以上是关于ios金额输入小数点等问题的主要内容,如果未能解决你的问题,请参考以下文章