零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 基础
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 线程
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> OpenGL ES
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> GPUImage
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> AVFoundation
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> CocoaPods
一.float / double 转 NSNumber
浮点数类型也分为两类,一种是 float 单精度 ,一种是 double 双精度,区别就在于 double 的取值范围不管是小数部分还是整数部分都比 float 更高;
1.float(单精度)
- float 整数部分取值范围:能表达式万亿级别,已经够大了,实际开发完全够用;
- float 小数部分取值范围:最多只能精确到小数点后6位;
2.double(双精度)
- double 整数部分取值范围:比float更大,脑补就行了….
- double 小数部分取值范围:最多只能精确到小数点后15位;
NSNumber 转 float / double 过程中,应该注意精度问题,例如下面代码:
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:iOS NSNumber 和 float / double 相互转换
//@Time:2021/09/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
NSLog(@"float 转 NSNumber-----------");
float fValue = 3.1415926573;
NSNumber *number1 = [NSNumber numberWithFloat:fValue];
NSNumber *number2 = [NSNumber numberWithDouble:fValue];
NSLog(@"number1 = %@",number1);
NSLog(@"number2 = %@",number2);
NSLog(@"double 转 NSNumber-----------");
double dValue = 3.1415926573;
NSNumber *number3 = [NSNumber numberWithFloat:dValue];
NSNumber *number4 = [NSNumber numberWithDouble:dValue];
NSLog(@"number3 = %@",number3);
NSLog(@"number4 = %@",number4);
/*
float 转 NSNumber-----------
number1 = 3.141593
number2 = 3.141592741012573
double 转 NSNumber-----------
number3 = 3.141593
number4 = 3.1415926573
*/
二.NSNumber 转 float / double
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:iOS NSNumber 和 float / double 相互转换
//@Time:2021/09/21 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
NSNumber *number1 = [NSNumber numberWithFloat:3.1415926573];
NSNumber *number2 = [NSNumber numberWithDouble:3.1415926573];
float fValue1 = [number1 floatValue];
double dValue1 = [number1 doubleValue];
float fValue2 = [number2 floatValue];
double dValue2 = [number2 doubleValue];
NSLog(@"fValue1 = %f dValue1 = %f",fValue1,dValue1);
NSLog(@"fValue2 = %f dValue2 = %f",fValue2,dValue2);
/*
fValue1 = 3.141593 dValue1 = 3.141593
fValue2 = 3.141593 dValue2 = 3.141593
*/
三.猜你喜欢
- Xcode – The application’s Info.plist does not contain CFBundleShortVersionString.
- Xcode – This app has attempted to access privacy-sensitive data without a usage description.
- Xcode – Your maximum App ID limit has been reached. You may create up to 10 App IDs every 7 days
- Xcode replace 使用正则表达式替换文字
- Object-C 获取系统字体和字体名字
- Object-C 加载 TTF/OTF/TTC 文件
- Object-C 加载 TTF/OTF/TTC 文件
- iOS NSString 字符串的排序
- iOS NSString 创建和初始化
- iOS UIImage 与 RGBA 相互转换
- iOS NSString 查找指定字符串出现的次数
- iOS NSString 查找指定字符串位置
- iOS NSString 拆分字符串
- iOS NSString 截取字符串
- iOS NSString 和 NSArray 相互转换
- iOS NSString 包含字符串/匹配字符串
- iOS NSURL URLWithString 与 fileURLWithPath 区别
- iOS NSURL 与 NSString相互转换
- iOS NSString 获取中文字符串长度
- iOS NSString 判断字符串是否为空判
- iOS NSString 获取指定下标字符
- iOS NSString 匹配字符串开头
- iOS NSString 匹配字符串结尾
- iOS NSString 判断两个字符串是否相等
- iOS NSString 将字符串中的字母转换为大写
- iOS NSString 将字符串中的字母转换为小写
- iOS NSString 将字符串中的首字母变为大写
- iOS NSString 拼接字符串
- iOS NSString 插入字符串
- iOS NSString 删除字符串
- iOS NSNumber 和 int 相互转换
- iOS NSNumber 和 BOOL 相互转换
- iOS NSNumber 和 float / double 相互转换
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容