网站开发建设类合同,做音乐网站,wordpress没权重,云网站问题阐述#xff1a;
我们进行CGFloat转NSString可能会遇到一个问题
例如有一个CGFloat的值为2.1#xff0c;转化成NSString后显示2.1000...
解决办法#xff1a;
方法一#xff1a;
如何解决呢#xff0c;可以使用%g格式符#xff0c;可以保证传入的不管是2还是2.1…问题阐述
我们进行CGFloat转NSString可能会遇到一个问题
例如有一个CGFloat的值为2.1转化成NSString后显示2.1000...
解决办法
方法一
如何解决呢可以使用%g格式符可以保证传入的不管是2还是2.1都能保持原有的精度
%g格式符可以根据数值的大小自动选择最合适的表示方法同时避免多余的小数位数。这将确保输入的 2.1 在转换后输出仍然是 2.1。
CGFloat myFloat 2.1;
NSString *myString [NSString stringWithFormat:%g, myFloat];
NSLog(%, myString); // 输出: 2.1 方法二
我们也可以使用一个自定义一个方法来实现
- (NSString *)stringFromCGFloat:(CGFloat)floatValue {// 将 CGFloat 转换为字符串NSString *floatString [NSString stringWithFormat:%g, floatValue];// 查找小数点的位置NSRange dotRange [floatString rangeOfString:.];// 如果有小数点则返回完整的字符串if (dotRange.location ! NSNotFound) {return floatString;}// 如果没有小数点则返回整数部分的字符串return [NSString stringWithFormat:%.0f, floatValue];
}