实现一个标准数字字符串四舍五入截取不指定位数的小数
两种算法:
1.乘以10的指定位数幂次方,然后用系统四舍五入函数去掉小数位数),然后转成字符串,截取拼接字符串;
2.转成double类型(注意不能是float类型,很容易越界)加上乘以10的指定位数加1的幂次方。然后转成比较多位数的字符串,最后截取字符串。
下面是方法二的实现方法:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12-(NSString *)getFloatStrWithFloatStr:(NSString *)floatStr fixNumber:(NSUInteger)fixNumber { NSLog(@"%.5f, %.f", 5.0/pow(10, fixNumber+1),pow(10, fixNumber+1)); CGFloat actualAmountValue = [floatStr doubleValue] +5.0/pow(10, fixNumber+1); NSString *str1 = [NSString stringWithFormat:@"%.10f", actualAmountValue]; NSRange range = [str1 rangeOfString:@"."]; NSString *newStr = [str1 substringToIndex:range.location+1+fixNumber]; return newStr; }
函数调用:
复制代码
1
2NSLog(@"%@", [self getFloatStrWithFloatStr:@"123454.690877" fixNumber:3]);
最后
以上就是如意咖啡豆最近收集整理的关于实现一个标准数字字符串四舍五入截取不指定位数的小数的全部内容,更多相关实现一个标准数字字符串四舍五入截取不指定位数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复