- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet*cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS] invertedSet];
NSString*filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
// 只能输入数字小数点
if(!basicTest) { // 不相等
return NO;
}
if ([textField.text rangeOfString:@"."].location==NSNotFound) {
isHaveDian=NO;
}
// 第一位必须为数字不能为小数点
if ([string length]>0)
{
unichar single=[string characterAtIndex:0];//当前输入的字符
if ((single >=‘0‘ && single<=‘9‘) || single==‘.‘)//数据格式正确
{
//首字母不能为0和小数点
if([textField.text length]==0){
if(single == ‘.‘){
[textField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}
if (single==‘.‘)
{
if(!isHaveDian)//text中还没有小数点
{
isHaveDian=YES;
return YES;
}else
{
[textField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}
else
{
if (isHaveDian)//存在小数点
{
//判断小数点的位数
NSRange ran=[textField.text rangeOfString:@"."];
int tt=range.location-ran.location;
// if (tt <= 2){
// return YES;
// }else{
// return NO;
// }
}
else
{
return YES;
}
}
}else{//输入的数据格式不正确
[textField.text stringByReplacingCharactersInRange:range withString:@""];
return NO;
}
}
else
{
return YES;
}
}
}
iPad开发--UItextfield中输入类似于数学计算上的数字的方法
时间: 2024-08-29 05:51:03
iPad开发--UItextfield中输入类似于数学计算上的数字的方法的相关文章
html js在页面中输入两个数计算和
费了很大功夫,之前写的跟这个差不多,但是就是不能正常运行,找不到原因,这个搞定的记录一下 1 <html> 2 <head> 3 <title></title> 4 <meta name="generator" 5 content="HTML Tidy for HTML5 (experimental) for Windows https://github.com/w3c/tidy-html5/tree/c63cc39&qu
iOS开发--UITextField限制输入文字的个数
项目需要输入框的文字最多为4个,为了实现这个功能,在网上把资料翻遍了,没有一个能用的.后来不得不自己实现,折腾了好久,终于搞定了.小技巧分享给大家. 代码如下: static constNSInteger Max_Character_Num =4; - (IBAction)onTextFieldEditingChanged:(id)sender { NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; if
C#中Math类的计算整数的三种方法
1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0 Math.Round(0.1) //0 Math.Round(0.2) //0 Math.Round(0.3) //0 Math.Round(0.4) //0 Math.Round(0.5) //0 Math.Round(0.6) //1 Math.Round(0.7) //1 Math.Round(0.8) //1 Math.Round(0.9) //1 说明:对于1.5,因要返回偶数,所以结果为2.
iPad开发--UIPopoverController简单使用iOS7之前和iOS7之后的使用方法
一.iOS7之前的Popover的使用 对Popover进行懒加载处理 内容控制器中设置Popover弹出后的尺寸 设置显示的位置,两种情况.1 -- 给BarButtonItem设置Popover的位置; 2 -- 给其他View设置Popover的位置 二.iOS8中的Popover使用 -- 就是以modal形式展现出来,但是要设置modal的展现样式为Popover
根据输入字符串,分别计算大写,小写,数字,标点的个数
1 def count(n): 2 upp = 0 3 low = 0 4 num = 0 5 sym = 0 6 for i in n: 7 if i.isupper(): 8 upp +=1 9 elif i.islower(): 10 low +=1 11 elif i.isdigit(): 12 num +=1 13 else: 14 sym +=1 15 return "大写字母的个数是:{0}\n小写字母的个数是:{1}\n数字的个数是:{2}\n符号的个数是:{3}".f
Shell中数学计算/运算
shell中的赋值和操作默认都是字符串处理. 1)使用let(只能进行整数运算)var=1let "var+=1"echo $var输出结果为2 注意:a)let几乎支持所有的运算符b)方幂运算应使用“**”c)参数在表达式中直接访问,不必加$d)一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上e)let后的表达式只能进行整数运算 2)使用(())var=1((var+=1))echo $var输出结果为2注意:(())的使用方法与let完全相同 3)使用
shell 中数学计算总结
1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1,依然悲剧,呵呵 2.正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2,这次没有悲剧 注意: a)经我测试let几乎支持所有的运算符,在网上看到一篇文章说"let不支持++.--和逗号.(.)",但经我测试自加.自减.以及括号的优先级都得到了很好的支持
iOS开发UI篇—iPad开发中得modal介绍
一.简单介绍 说明1: 在iPhone开发中,Modal是一种常见的切换控制器的方式 默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止 说明2: 在iPad开发中,Modal的使用频率也是非常高的 对比iPhone开发,Modal在iPad开发中多了一些用法 二.呈现样式 (一)什么叫呈现样式 Modal出来的控制器,最终显示出来的样子 (二)Modal常见有4种呈现样式 (1)UIModalPresentationFullScreen :全屏显示(默认) (2)UIModalPresent
iOS开发中常用的数学函数
/*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(@"结果 %.f", pow(3,2)); //result 9 NSLog(@"结果 %.f", pow(3,3)); //result 27 //开平方运算 NSLog(@"结果 %.f", sqrt(16)); //result 4 NSLog(@"结果 %.f", sqrt(81)); //result 9 //进一 NSLog(@&q