保留两位小数(四舍五入)



- (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 开发中保留小数问题的更多相关文章

  1. iOS开发中你是否遇到这些经验问题

    前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时 ...

  2. [转载]对iOS开发中内存管理的一点总结与理解

    对iOS开发中内存管理的一点总结与理解   做iOS开发也已经有两年的时间,觉得有必要沉下心去整理一些东西了,特别是一些基础的东西,虽然现在有ARC这种东西,但是我一直也没有去用过,个人觉得对内存操作 ...

  3. 总结iOS开发中的断点续传那些事儿

    前言 断点续传概述 断点续传就是从文件赏赐中断的地方重新开始下载或者上传数据,而不是从头文件开始.当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会从头下载,这样很 ...

  4. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

  5. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  6. ios开发中的小技巧

    在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...

  7. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法

    在 IOS 开发当中经常碰到 whose view is not in the window hierarchy 的错误,该错误简单的说,是由于 "ViewController" ...

  8. [转]iOS开发中的火星坐标系及各种坐标系转换算法

     iOS开发中的火星坐标系及各种坐标系转换算法 源:https://my.oschina.net/u/2607703/blog/619183   其原理是这样的:保密局开发了一个系统,能将实际的坐标转 ...

  9. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

随机推荐

  1. 软件项目技术点(8)—— canvas调用drawImage绘制图片

    AxeSlide软件项目梳理   canvas绘图系列知识点整理 html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本 ...

  2. The eighteen day

    27th Nov 2018 Setting goals is the first step in turning the invisible into the visiable   ---Tony R ...

  3. java面试题之----super和this

    super和this的异同: super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) supe ...

  4. 动态获取Drawable图片资源

    比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的 ...

  5. OC extern和函数

    #include <stdio.h> // 定义一个one函数 // 完整地定义一个外部函数需要extern关键字 //extern void one() { // printf(&quo ...

  6. 【[SDOi2012]Longge的问题】

    求\(\sum_{i=1}^ngcd(i,n)\) 考虑枚举\(gcd\),现在答案变成这样 \(\sum_{d|n}d*f(d)\) \(f(d)=\sum_{i=1}^n [gcd(i,n)==d ...

  7. 【Calculus 微积分の一些个人理解】

    微积分 微积分(Calculus)是高等数学中研究函数的微分(Differentiation).积分(Integration)以及有关概念和应用的数学分支.它是数学的一个基础学科.内容主要包括极限.微 ...

  8. Android学习笔记_46_fragment的简单应用

    Fragments 诞生初衷 http://www.cnblogs.com/TerryBlog/archive/2012/02/17/2355753.html 自从Android 3.0中引入frag ...

  9. Android学习笔记_33_Widget时钟(MetaData)

    Widgets在文档docs\guide\topics\appwidgets\index.html下 Android中AppWidget的分析与应用:AppWidgetProvider 一.在 And ...

  10. python序列化_json,pickle,shelve模块

    序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把内存数据 转成字符,叫序列化 把字符 转成内存数据,叫反序列化 模块 ...