ios金额输入小数点等问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios金额输入小数点等问题相关的知识,希望对你有一定的参考价值。

参考技术A - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string

if([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金额输入小数点等问题的主要内容,如果未能解决你的问题,请参考以下文章

js怎么判断输入的金额只能是小数点前10位,小数点后两位

UITextField 限制输入金额(项目中遇到判断输入金额)

iOS中UITextField输入判断小数点后两位

vue输入金额,仅输入数字并且保留两位小数

Android EditText 输入金额(小数点后两位)

TextFiled 中输入金额