iOS最完美的UITextField中输入金额,只能输入数字和小数点,保留两位小数点且0放在首位
来源:互联网 发布:主机屋域名绑定 编辑:程序博客网 时间:2024/06/05 04:34
@property (nonatomic,assign) BOOL isHaveDian;
@property (nonatomic,assign) BOOL isFirstZero;
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField ==self.amountTextField) {
if ([textField.textrangeOfString:@"."].location==NSNotFound) {
_isHaveDian =NO;
}
if ([textField.textrangeOfString:@"0"].location==NSNotFound) {
_isFirstZero =NO;
}
if ([stringlength]>0)
{
unichar single=[stringcharacterAtIndex:0];//当前输入的字符
if ((single >='0' && single<='9') || single=='.')//数据格式正确
{
if([textField.textlength]==0){
if(single =='.'){
//首字母不能为小数点
returnNO;
}
if (single =='0') {
_isFirstZero =YES;
returnYES;
}
}
if (single=='.'){
if(!_isHaveDian)//text中还没有小数点
{
_isHaveDian=YES;
returnYES;
}else{
returnNO;
}
}elseif(single=='0'){
if ((_isFirstZero&&_isHaveDian)||(!_isFirstZero&&_isHaveDian)) {
//首位有0有.(0.01)或首位没0有.(10200.00)可输入两位数的0
if([textField.textisEqualToString:@"0.0"]){
returnNO;
}
NSRange ran=[textField.textrangeOfString:@"."];
int tt=(int)(range.location-ran.location);
if (tt <=2){
returnYES;
}else{
returnNO;
}
}elseif (_isFirstZero&&!_isHaveDian){
//首位有0没.不能再输入0
returnNO;
}else{
returnYES;
}
}else{
if (_isHaveDian){
//存在小数点,保留两位小数
NSRange ran=[textField.textrangeOfString:@"."];
int tt= (int)(range.location-ran.location);
if (tt <=2){
returnYES;
}else{
returnNO;
}
}elseif(_isFirstZero&&!_isHaveDian){
//首位有0没点
returnNO;
}else{
returnYES;
}
}
}else{
//输入的数据格式不正确
returnNO;
}
}else{
returnYES;
}
}
returnYES;
}
- iOS最完美的UITextField中输入金额,只能输入数字和小数点,保留两位小数点且0放在首位
- edittext只能输入数字和小数点,且小数点后只能输入两位
- iOS中TextField只能输入数字且小数点后最多输入两位
- input标签只能输入数字小数点 且小数点后只有两位 ,不允许存在两个小数点!!
- iOS UITextField 只能输入数字和小数点,只能有两位小数
- iOS UITextField 只能输入数字和小数点,只能有两位小数
- iOS UITextField 只能输入数字和小数点,只能有两位小数
- input输入框只能输入数字且小数点后只能输入两位数字
- IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
- EditText实现只能输入数字和小数点,限制小数点后?位,并且以数字0开头后只能输入小数点
- UITextField 只能输入数字和小数点,只能有两位小数
- UITextField 只能输入数字和小数点,只能有两位小数
- UITextField 限制只能输入数字和小数点,只能有两位小数
- 验证文本框转化为金额,小数点后只能输入两位数字
- iOS中UITextFiled只能输入数字和小数点
- 在EditBox中只能输入数字包括小数点和负号
- c# 控制TextBox只能输入小数(只能输入一个小数点,小数点后只能输入两位,首位是小数点离开时自动补0,末位是小数点离开时自动清除)
- 只能输入数字和小数点!
- Activiti入门学习demo_2_简单的流程
- Cocoa过滤器NSPredicate的完全用法
- cocoaPods 1.1.0 使用
- firewalld对指定IP开放指定端口的配置
- poj 2823 Sliding Windows 线段树|单调队列
- iOS最完美的UITextField中输入金额,只能输入数字和小数点,保留两位小数点且0放在首位
- C Tricks(十三)—— trim 的实现
- Zookeeper启动抛出“Invalid arguments, exiting abnormally”异常
- MySQL 服务无法启动。 服务没有报告任何错误。 请键入 NET HELPMSG 3534 以获得更多的帮助。
- sql怎么把查询出的记录插入到另一张表中
- cocos2d-x 3.x学习之SpriteFrameCache
- 【成长】——改变
- iis发布网站设置默认页在网站中的某个文件夹下面
- 第10-11周项目:点类派生直线类