iOS 开发中保留小数问题
保留两位小数(四舍五入)
- (void)viewDidLoad {
[super viewDidLoad];
// 有时候我们需要对数据保留两位小数,而且需要四舍五入,并且需要把末尾多余的0给去掉\
下面提供两种方法来处理,推荐方法一,简单方便
NSLog(@"SuperNSLog--- %@",[self formatValue:23.50]);
NSLog(@"SuperNSLog--- %@",[self formatValue:23.00]);
NSLog(@"SuperNSLog--- %@",[self formatValue:23.23]);
NSLog(@"SuperNSLog--- %@",[self formatValue:23.4545]);
NSLog(@"SuperNSLog--- %@",[self formatValue:101.0002]);
NSLog(@"SuperNSLog--- %@",[self formatValue:2.305]);
NSLog(@"SuperNSLog--- %@",[self formatValue:2.304]);
NSLog(@"SuperNSLog--- %@",[self formatValue:5.746]);
NSLog(@"SuperNSLog--- %@",[self formatValue:-5.746]);
NSLog(@"SuperNSLog--- %@",[self formatValue:-5.744]);
}
// 方法一
- (NSNumber *)formatValue:(CGFloat)value {
return @([NSString stringWithFormat:@"%.2f", value].floatValue);
}
// 方法二
//- (NSString *)formatValue:(float)value {
//
// NSString *str = [NSString stringWithFormat:@"%.2f",value];
//
// if ((NSInteger)(str.floatValue * 100) % 100 == 0) {
//
// return [NSString stringWithFormat:@"%.0f",value];
//
// }else if ((NSInteger)(str.floatValue * 100) % 10 == 0) {
//
// return [NSString stringWithFormat:@"%.1f",value];
//
// }else {
//
// return str;
// }
//
//}
运行结果
2017-02-28 17:46:49.313 1[18429:91975] SuperNSLog--- 23.5
2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23
2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23.23
2017-02-28 17:46:49.314 1[18429:91975] SuperNSLog--- 23.45
2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 101
2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 2.31
2017-02-28 17:46:49.315 1[18429:91975] SuperNSLog--- 2.3
2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- 5.75
2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- -5.75
2017-02-28 17:46:49.316 1[18429:91975] SuperNSLog--- -5.74
iOS 开发中保留小数问题的更多相关文章
- iOS开发中你是否遇到这些经验问题
前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时 ...
- [转载]对iOS开发中内存管理的一点总结与理解
对iOS开发中内存管理的一点总结与理解 做iOS开发也已经有两年的时间,觉得有必要沉下心去整理一些东西了,特别是一些基础的东西,虽然现在有ARC这种东西,但是我一直也没有去用过,个人觉得对内存操作 ...
- 总结iOS开发中的断点续传那些事儿
前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS开发中静态库制作 之.a静态库制作及使用篇
iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法
在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" ...
- [转]iOS开发中的火星坐标系及各种坐标系转换算法
iOS开发中的火星坐标系及各种坐标系转换算法 源:https://my.oschina.net/u/2607703/blog/619183 其原理是这样的:保密局开发了一个系统,能将实际的坐标转 ...
- iOS开发中常见问题集锦
在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...
随机推荐
- select @@identity用法
用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @NewID=@@IDENTITY 说明: 在一条 INSERT.SELE ...
- C++基础--static的用法
首先,看看变量的存储: int global ; int main() { int stackStore ; int heapStore* = (int *)malloc(sizeof(int)); ...
- SDET面试之感受篇。
某年某月的某一天,我来到了太监村的一栋大厦,因为早到了半个小时,拿出来提前准备好的code随便的翻看着. 人家都说,面试头五分钟就已经决定了,是否能面试成功.所以,面试真正的真谛可能就是相面.什么写c ...
- OFBiz部署与运行
下载及部署命令:http://ofbiz.apache.org/download.html OFBiz的安装部署是基于ant的,官网的案例是执行load-demo任务和start任务.以下分析是以12 ...
- Orchard Core 文档翻译 (四)CMS ModulesTitle (OrchardCore.Title)
Title (OrchardCore.Title) 标题模块提供Title Part ,允许用户定义内容项的标题.它还定义了ContentItemMetadata方面的DisplayText属性 Th ...
- nginx-rtmp加入权限验证的简单方法
nginx-rtmp-module默认不限制推流权限.播放权限.如果想加入权限验证,有很多种方法. 方法一:修改源码如: 如何给 nginx rtmp 服务加入鉴权机制 http://blog.csd ...
- C/C++ 修改控制台程序文字颜色
可以修改前景色(字体颜色)和背景色. 示例代码如下: #include <iostream> #include <Windows.h> //需要引用Windows.h usin ...
- 发送请求获取响应内容(c#)
C#请求url,获取响应的脚本 public string ResultOfApi(string url) { //发送请求 HttpWebRequest request = null; HttpWe ...
- Django:Django的路由系统
一,URLconf配置 1,基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 2 ...
- 记一次MySQL手工注入
本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...