识别float类型,小数点保留自动识别
2016-05-13 13:55
253 查看
创建一个类
MySelfFrame.h
MySelfFrame.h
使用的时候只需要调用接口即可
二、另一种方法 效率高了很多 并且代码量更少
MySelfFrame.h
+ (NSString *)ifNumberIsFloat:(float)num Least:(NSInteger)least;
MySelfFrame.h
+ (NSString *)ifNumberIsFloat:(float)num Least:(NSInteger)least { NSString * str; NSInteger first = (NSInteger)(num*100)%100; if (first > 0) { if (first%10 == 0) { str = [NSString stringWithFormat:@"%.1f",num]; return str; }else { str = [NSString stringWithFormat:@"%.2f",num]; return str; } }else{ NSInteger three = (NSInteger)(num*1000)%1000; if (three%10 == 0) { str = [NSString stringWithFormat:@"%.0f",num]; return str; }else{ str = [NSString stringWithFormat:@"%.2f",num]; return str; } } }
使用的时候只需要调用接口即可
float num = 2.10 NSString * str = [ViewController ifNumberIsFloat:num Least:1]//least是最少保留的位数
二、另一种方法 效率高了很多 并且代码量更少
NSString * numStr = [NSString stringWithFormat:@"%.2f",num]; NSInteger index = [numStr rangeOfString:@"."].location; NSString * integerStr = [numStr substringToIndex:index]; NSString * floatStr = [[numStr substringFromIndex:index] stringByReplacingOccurrencesOfString:@"." withString:@""]; if ([floatStr integerValue] > 0) { NSInteger index2 = [floatStr rangeOfString:@"0"].location; if (index2 < 3) { NSInteger getDex = index2==0?2:1; floatStr = [floatStr substringToIndex:getDex]; } }else if ([floatStr integerValue] == 0){ floatStr = @""; } NSString * lastStr = floatStr.length > 0?[NSString stringWithFormat:@"%@.%@",integerStr,floatStr]:integerStr; return lastStr;
相关文章推荐
- 简单实验
- 价值观作业
- Java并发编程之锁
- 常用集合ArrayList,LinkedList,HashMap,HashSet源码分析
- 小白的git
- JS学习11(DOM2&DOM3)
- c++中sort对结构体排序
- webservice如何设置代理服务
- Andorid 代码混淆
- 一款强大的在线编辑器 CLOUD9
- MySQL字符串函数:字符串截取
- PHP 基础函数(四)回调函数
- win 10 修改资源管理器默认打开为我的电脑
- Android DatePicker TimePicker
- .htaccess技巧: URL重写(Rewrite)与重定向(Redirect)
- MSComm 控件
- Java Maps的9个常见问题
- Leetcode 48 Rotate Image
- Mac上配置C++ Eclipse 尤其是GDB错误
- 50岁后女人做好8件事助长寿