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 ...
随机推荐
- Nginx - Additional Modules, SSL and Security
Nginx provides secure HTTP functionalities through the SSL module but also offers an extra module ca ...
- 使用iTextSharp来填充PDF模板文件
需求简介: 遇到了这样一个需求:某公司需要为所有用户的培训生成一个培训记录,过程如下: (1)用户在培训完之后会进入到一个填写信息的界面. (2)用户填写信息. (3) ...
- Linux 命令行技巧
这是一个linux常见命令的列表.那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝.所有的命令已在Fedora和Ubuntu下做了测试 命令 ...
- eclipse插件hibernate tools安装 爱好者
eclipse helios(3.6)版 1.启动eclipse 2.选择Help > Install New Software...> 3.添加如下地址:http://download. ...
- javascript笔记——date以及datetime的比较
<script src="$!webPath/resources/js/laydate/laydate.js"></script> <script s ...
- 限制SSH访问源,禁止4A之外的地址跳转访问
[fuel节点] 在/etc/hosts.allow文件中添加: sshd:10.129.0.1:allow sshd:10.129.0.2:allow sshd:10.129.0.3:allow s ...
- Poj 1328 / OpenJudge 1328 Radar Installation
1.Link: http://poj.org/problem?id=1328 http://bailian.openjudge.cn/practice/1328/ 2.Content: Radar I ...
- 7.JAVA_SE复习(文件)
文件和流 1.什么是节点流和处理流 InputStream & OutputStream Reader & Writer 乃节点流, 前面加File之类的名词 的节点流 其余加动词的均 ...
- Linux dd 命令
语法:dd [选项] if =输入文件(或设备名称). of =输出文件(或设备名称). ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数. skip = blocks 跳过读入缓 ...
- TCP/IP:链路层
链路层主要目的: 1. 为IP模块发送和接收IP数据报. 2. 为ARP模块发送ARP请求和接收ARP应答. 3. 为RARP发送RARP请求和接收RARP应 ...