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



- (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. drupal node机制理解

    [1]根据结构的功能结构的不同,drupal划分为,node,user,comment等不同的结构,他们的结构是不同的.他们可以作为四个不同的抽象类,根据这个抽象类,分别有一套hook函数去控制实现的 ...

  2. 【CSAPP-南大视频】Week1-计算机系统概述

    本笔记基于中国大学Mooc <计算机系统基础(一):程序的表示.转换与链接>课程,由 南京大学袁春风教授授课. 教材<深入理解计算机系统> 课程总目标:理解计算机是如何生成和运 ...

  3. Entity Framework:“无法加载指定的元数据资源

    System.Data.Entity.Core.MetadataException:“无法加载指定的元数据资源 CodeFirst方式使用EF,写入数据时报错.System.Data.Entity.C ...

  4. asyncio标准库1 Hello World

    利用asyncio的event loop,编写和调度协程 coroutine [,kəuru:'ti:n] n. 协程 Simple coroutine(调用1个协程) import asyncio ...

  5. Struts2学习-拦截器

    1.新建项目user4,建立好和user3一样的目录,与之相比只是添加几个类,主要是struts.xml和action类的改变,其结果没有太大的变化 struts,xml <?xml versi ...

  6. php连接MySQL分析

    Mysql:在PHP脚本中操作MySQL数据库的的几个步骤如下: 1.连接MySQL数据库服务器,并判断是否连接正确 2.选择数据库,并设置字符集(可选) 3.执行SQL命令 4.处理结果集 5.关闭 ...

  7. 如何清理Windows缩略图缓存?

    从Win95的IE4开始就有缩略图缓存了,缩略图缓存作用主要是用于存储Windows资源管理器缩略图图像文件.这加快了图像的显示速度,因为每次用户查看文件夹时都不需要重新生成这些较小的图像.缩略图缓存 ...

  8. CRM和ERP的Sales Organization的映射关系

    在如下的配置里可以维护CRM和ERP的Sales Organization的映射关系. 例如,ERP的编号为0001的销售组织映射到CRM的编号为O 50040102的销售组织: 这种映射关系存储在表 ...

  9. 对selenium自动化框架重构

    近期在编写自动化脚本的时候发现以前写的部分不是特别友好,在此进行重构.废话不说 搭建自动化框架,首先先理清思路: 使用的技术python+unittest+selenium+excel 文件目录有: ...

  10. Node.js 笔记01

    一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成 ...