提问人:Duck 提问时间:2/14/2011 更新时间:5/9/2017 访问量:52251
objective-C - 将浮点数转换为字符串的其他方法
objective-C - other methods to convert a float to string
问:
我知道您可以使用以下命令将浮点数转换为字符串
NSString *myString = [NSString stringWithFormat:@"%f", myFloat];
我的问题是 Objective-C 中还有哪些其他方法可以做到这一点?
谢谢。
答:
6赞
TheAmateurProgrammer
2/14/2011
#1
您可以创建自己的类别方法。类似的东西
@interface NSString (Utilities)
+ (NSString *)stringWithFloat:(CGFloat)float
@end
@implementation NSString (Utilities)
+ (NSString *)stringWithFloat:(CGFloat)float
{
NSString *string = [NSString stringWithFormat:@"%f", float];
return string;
}
@end
编辑
将其更改为类方法,并将类型从 更改为 。float
CGFloat
您可以将其用作:
NSString *myFloat = [NSString stringWithFloat:2.1f];
4赞
0x8badf00d
2/14/2011
#2
float someVal = 22.3422f;
NSNumber* value = [NSNumber numberWithFloat:someVal];
NSLog(@"%@",[value stringValue]);
47赞
Jonathan.
2/14/2011
#3
您可以使用 NSNumber
NSString *myString = [[NSNumber numberWithFloat:myFloat] stringValue];
但是按照你的方式去做是没有问题的,事实上,你在问题中的方式更好。
评论
1赞
Jonathan.
2/14/2011
@Digital机器人;我忘了说您在问题中发布的方法是一个更好的方法,因为只有一个自动发布的对象(NSString),此方法有 2 个自动发布的对象;NSNumber 对象和 NSString 对象。感谢您接受:)
0赞
Duck
2/15/2011
啊,是的,但是我现在有一个案例,它非常适合,因为我正在从核心数据中检索 NSNumber 并且使用它是完美的。这就是为什么有替代方案来做同样的工作是件好事。当我收到 NSNumber 时,使用我的原始方法将其转换为字符串将是最糟糕的。再次感谢。
13赞
ram880
7/27/2015
#4
以简单的方式
NSString *floatString = @(myFloat).stringValue;
评论