IOS开发之----四舍五入问题
http://blog.sina.com.cn/s/blog_71715bf801017nyw.html
方法一:
-(NSString *)notRounding:(float)price afterPoint:(int)position{
NSDecimalNumberHandler* roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:position raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumber *ouncesDecimal;
NSDecimalNumber *roundedOunces;
ouncesDecimal = [[NSDecimalNumber alloc] initWithFloat:price];
roundedOunces = [ouncesDecimal decimalNumberByRoundingAccordingToBehavior:roundingBehavior];
[ouncesDecimal release];
return [NSString stringWithFormat:@"%@",roundedOunces];
}
介绍一下参数:
price:需要处理的数字,
position:保留小数点第几位,
然后调用
float s =0.126;
NSString *sv = [self notRounding:s afterPoint:2];
NSLog(@"sv = %@",sv);
输出结果为:sv = 0.12
接下来介绍NSDecimalNumberHandler初始化时的关键参数:decimalNumberHandlerWithRoundingMode:NSRoundDown,
NSRoundDown代表的就是 只舍不入。
scale的参数position代表保留小数点后几位。
如果只入不舍怎么办,比如,float 0.162 想要得到0.17该怎么做?,在开发文档上有这样一个表,是按照保留小数点后一位处理的。相信大家一看就明白了:
方法二:
1、round(12345.6789) 结果为:12346
2、round(12345.6789*100)/100 结果为:12345.68
第二个是我要的结果,但是我不明白这么个简单的四舍五入要搞的这么复杂,应该有更好的吧,我记得在其他语言里用:round(12345.6789,2) 就可以实现四舍五入到两位小数。
转载于:https://www.cnblogs.com/xuejinhui/p/4552897.html
IOS开发之----四舍五入问题相关推荐
- iOS开发基础知识--碎片27
iOS开发基础知识--碎片27 1:iOS中的round/ceil/floorf extern float ceilf(float); extern double ceil(double); ext ...
- IOS开发基础知识--碎片14
1:ZIP文件压缩跟解压,使用ZipArchive 创建/添加一个zip包ZipArchive* zipFile = [[ZipArchive alloc] init];//次数得zipfilenam ...
- iOS开发中常用的方法
iOS开发中常用的方法 系统弹窗: 过期方法: UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"确认报价" ...
- 【IOS开发进阶系列】动画专题
1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 基本概念 1.1.1 CA ...
- iOS开发宝典:String用法大全
本文转载至 http://mobile.51cto.com/iphone-395171.htm 新手们还在等什么?这是一本属于你的iOS开发"字典",在这里你可以查到字符串.数组. ...
- iOS开发中 经常遇到的坑,看我就够了! 韩俊强的博客
从事iOS开发有些年月了,从最开始的磕磕绊绊,不知所措,到现在的遇到困难都能快速做出最佳方案处理,中间经历了不可或缺的痛苦.在项目开发中,本人有用印象笔记记录的习惯,所以很多重复出现的坑,很快迎刃而解 ...
- iOS开发中的数学函数
在iOS开发当中...我们往往会涉及到一些算法...为了节省一些时间...让APP很快地被开发出来...我们需要对各类函数有一定的了解...接下来...我把部分常用函数分享出来...希望能帮到大家.. ...
- IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
在iOS开发中,使用UISearchBar的时候,当搜索框失去焦点的时候,取消按钮是默认不能点击的,如图按钮的颜色是灰色的: 这是因为此时取消按钮的enabled属性被设置为NO了,那么当我们需 ...
- iOS开发UI篇—transframe属性(形变)
iOS开发UI篇-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两 ...
- 【ios开发/Xcode】使用UITableView完成学生信息及成绩的显示
[ios开发/Xcode]使用UITableView完成学生信息及成绩的显示 设计思想 实现效果 源代码 设计思想 首先创建所有页面的故事版,包括,登录.注册与成绩页面 接着设置故事版的关联代码,如下 ...
最新文章
- Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
- 关于使用Carbide编译及配置的一点注意事项
- 7个有用的JavaScript技巧
- javascript 变量及作用域(栈、堆、块级作用域、执行环境)详细篇
- 悟空 mobile.php,悟空CRM无需任何权限的SQL注入漏洞2(ThinkPHP特性)
- 邮件服务端口 port 25、109、110、143、465、995、993
- IOS UIKit基础控件的使用
- 1-15 Burpsuite Sequencer介绍
- 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)
- android下怎样伪装mac,Android刷成iOS?史上最强苹果伪装教程
- python二进制和图片转换
- vim autoformat php,Linux Vim代码格式化/美化插件vim-autoformat安装
- 华为P10手机有计算机功能吗,手机教程知识:华为P10支持NFC功能吗 华为P10新功能介绍...
- QT报错:Gtk-Message:Failed to load module “gail“
- 简介公开密钥算法和证书生成
- Win7下基于Anaconda安装TensorFlow
- Python处理mat文件的三种方式小结
- 传智播客开课的第三天
- html的基本模板结构图
- LTE-A载波聚合技术(7)---PDCCH monitoring、连接、盲检
热门文章
- C# Json文件读取
- 为什么使用php工厂模式,PHP 工厂模式使用方法
- 能识别nvme的pe启动_学用系列|Mathpix,送给理科老师们的公式识别神器
- pmp项目变更的流程图_PMP流程图
- MyBatis之使用XML配置SQL映射(二)CRUD映射配置
- jQuery事件相关方法
- 几个好用的makefile 几乎可以不用修改
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)----第7节: 获取异线程释放的对象...
- HTML5定位功能,实现在百度地图上定位
- tableView 三级展开 嵌入collocationView