Objective C 四舍五入,float处理
NSLog(@"平方:%.f", pow(3,2) ); //result 9
NSLog(@"上舍入:%.f", ceil(3.000000000001)); //result 4
NSLog(@"四舍五入:%.f",round(3.30));//result 3
NSLog(@"下舍入:%0.f",floor(232.90));//result 232
NSLog(@"取最小的值:%0.02f",fmin(3.22, 22.22));//result 3.22
NSLog(@"取最大的值:%0.02f",fmax(3.22,22.34));//result 22.34
NSLog(@"绝对值:%0.f",fabs(-10.00));//result 10
这里有一个小的技巧:
1:假如3.321想四舍五入到3.32也就是小数点的后两位,那么可以这样做
NSLog(@"%0.02f",round(3.321*100)/100);//result 3.21
NSLog(@"%0.02f",round(3.321));// result 3.00
打印出来的结果是不一样的。
在objective-c作为ANSIC的扩展,使用c标准库中的头文件<math.h>中定义的一些数学常量宏和一些数学函数进行基本操作。
数学常量:
#define M_E 2.71828182845904523536028747135266250 // e
#define M_LOG2E 1.44269504088896340735992468100189214 // log 2e
#define M_LOG10E 0.434294481903251827651128918916605082 // log 10e
#define M_LN2 0.693147180559945309417232121458176568 // log e2
#define M_LN10 2.30258509299404568401799145468436421 // log e10
#define M_PI 3.14159265358979323846264338327950288 // pi
#define M_PI_2 1.57079632679489661923132169163975144 // pi/2
#define M_PI_4 0.785398163397448309615660845819875721 // pi/4
#define M_1_PI 0.318309886183790671537767526745028724 // 1/pi
#define M_2_PI 0.636619772367581343075535053490057448 // 2/pi
#define M_2_SQRTPI 1.12837916709551257389615890312154517 // 2/sqrt(pi)
#define M_SQRT2 1.41421356237309504880168872420969808 // sqrt(2)
#define M_SQRT1_2 0.707106781186547524400844362104849039 // 1/sqrt(2)
转自http://blog.163.com/lzb4319@126/blog/static/7255470020123185505844/
Objective C 四舍五入,float处理的更多相关文章
- DecimalFormat 四舍五入Float类型的坑
今天又踩了一个坑,使用DecimalFormat来完毕四舍五入.可是传入的是float类型,几轮測试才发现一个问题,传入的float会被转为double类型.大家都知道float是4位,double是 ...
- 基本数据类型float和double的区别
float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不 ...
- float double
float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不 ...
- iOS --- 取整数
Objective-C拓展了C,自然很多用法是和C一致的.比如浮点数转化成整数,就有以下四种情况. 1.简单粗暴,直接转化 float f = 1.5; int a; a = (int)f; NSLo ...
- Automake
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...
- mysql_day01
1.MySQL概述 1.什么是数据库 数据库是一个存储数据的仓库 2.都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站 ... ... 3.提供数据库服务的软件 1.软件分类 MySQL ...
- c++中的一些计算的问题
要实现小数的四舍五入, float a = 3.456; //保留到小数点后两位 float b =(int)((a * 100) + 0.5) / 100.0; 但是这样对负数不好使, 对负数的话, ...
- PHP取整函数ceil,floor,round,intval的区别
ceil — 进一法取整 float ceil ( float $value ) 返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float, ...
- 二级C语言真题笔记
二级C语言真题笔记 1. 知识重点:数据类型.循环.数组.函数.指针.结构体与共同体 2. 求程序的运行结果 #include <stdio.h> main() { short i ...
随机推荐
- css3 web字体记
css3 web字体 @font-face语法 @font-face能够加载服务器端的字体,让客户端浏览器显示客户端没有安装的字体. @font-face{ font-family:<YourW ...
- android组件间共享数据的常用方法
使用Intent在激活组件的时候携带数据,以进行数据的传递 使用广播进行组件间数据的伟递 使用外部存储(sharedPreference,文件,数据库,网络)进行组件间数据共享 使用Static静态成 ...
- Rebind and Rewind in Execution Plans
http://www.scarydba.com/2011/06/15/rebind-and-rewind-in-execution-plans/ Ever looked at an execution ...
- windows7下系统保护中出现错误“文件名、目录名或卷标语法不正确。(0x8007007B)“ 以及保护设置列表中出现“Windows7_os(c:)(找不到)”选项时的解决方法
windows7下系统保护功能很是鸡肋,有事会出现一下两个问题: 1.出现错误“文件名.目录名或卷标语法不正确.(0x8007007B) 2.保护设置列表中出现“Windows7_os(c:)(找不到 ...
- get方法与post方法的使用
使用get方法获取页面的form内容 新建一个getform.html <html> <head> <title>Using Http Get Method< ...
- iOS动画——弹窗动画(pop动画)
用pop动画简单实现弹窗的缩放和渐变,感觉这个动画常用,就写一下博客 pop动画是Facebook推出的动画引擎,请自行到GitHub上搜索下载拖拽导入xcode项目中. 更多pop动画使用和原理可网 ...
- 1.6建造者模式(生成器模式) Builder
1.概念:将一个复杂对象的构建和他的表示分离,使得同样的构件可以创建不同的表示. 2.实例:肯德基和中餐,肯德基抽象了整个做菜的复杂过程(相同的构建),然后在不同的店铺进行实现(不同的表示).中餐往往 ...
- 原生JS面向对象思想封装轮播图组件
原生JS面向对象思想封装轮播图组件 在前端页面开发过程中,页面中的轮播图特效很常见,因此我就想封装一个自己的原生JS的轮播图组件.有了这个需求就开始着手准备了,代码当然是以简洁为目标,轮播图的各个功能 ...
- 急缺【jQuery】人才,要求熟悉jQuery,熟悉Js,熟悉前端开发
是一份兼职 是与jQuery相关的写作任务,有写作兴趣的欢迎站短(有blog者优先). 要求就是熟悉js和jquery,项目经验丰富(项目经验一定要丰富). 钱不多,不到1W,如果月薪超过1W的,我想 ...
- info sed 中文不完全文档
快速指南: sed 的一般使用方法:sed -option 'adress|command' -f scpritfiles(1)'|' 只是用来说明性的分隔 adress 和 command,实际使用 ...