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 ...
随机推荐
- Eclipse One Inspector
net.sf.yari.eclipse.EclipseInspectorViewPart Through the outline of EclipseInspectorViewPart, we can ...
- JSP初学者1
native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下, 安装好 Java ...
- (转)Android新的menu实现——ActionMode
Android的menu有多种实现方式,以前写过一篇Android中五种常用的menu(菜单),这里介绍一种新的menu实现方式:ActionMode.ActionMode是Android 3.0以后 ...
- keras 保存模型
转自:https://blog.csdn.net/u010159842/article/details/54407745,感谢分享! 我们不推荐使用pickle或cPickle来保存Keras模型 你 ...
- django-1-应用开发基本套路
Django 开发基本流程 创建项目 创建应用 修改配置文件 设计数据模型 后台管理注册 编写业务视图 编写模板文件 设置URL 访问测试/调试 部署上线 创建项目 django-admin star ...
- Linux --Mysql基础命令
mysql>create database a; --创建一个名为a的新库 mysql>create table a: --创建一个名为a新表 mysql>use a: --进入一个 ...
- Oracle transport tablespace
本来没想过发布这个文章,只是周边有一朋友工作中遇到合并数据库的情况,他是通过expdp提取出五个库对象,然后impdp到新库里面.我觉得这种方法特别耗时,尤其在数据量比较大的时候.这种时候我觉得采用表 ...
- PHP:使用php,循环html中的select标签与Php数据
select标签,我们都知道是下拉列表,这里,我们使用foreach循环,将select中的数据进行输出 例子: 1.数据表:mimi_article,表中有个字段,为1或0,表示着是或否 2.通过p ...
- GitLab 数据备份和恢复
GitLab 备份 /opt/gitlab/bin/gitlab-rake gitlab:backup:create //只是备份各项目的数据 完成后会在默认路径下多出来备份的tar包! /var/o ...
- vue+node+mongoose踩过的坑
1.当你在cmd中输入npm run dev的时候,出现这种错误 很有可能是目前的端口被占用了,可以把所有可能用到这个端口号的应用关闭或者你直接改一个新的端口号 修改端口的方法:新打开一个cmd,然后 ...