使用浮点变量构建字符串

时间:2012-04-29 20:22:50

标签: objective-c ios cocoa-touch nsstring string-formatting

如何构建由NSStringstring变量组成的float变量?

我假设我需要将浮点数转换为字符串,但我不知道如何在不创建大量杂乱和丑陋的代码的情况下完成此操作。

我想构建这样的内容:String + Float + String + Float

提前致谢。

4 个答案:

答案 0 :(得分:3)

这不是Objective C的工作原理。在Java中,您将使用:

String yourString = string1 + " " + float1 + " " + string2 + " " + float2;

你不能在目标C中做同样的事情。为了达到同样的效果,你需要:

NSString* yourString = [NSString stringWithFormat:@"%@ %f %@ %f", string1, float1, string2, float2];

这将导致等同于Java语句。 %@表示要将对象格式化为字符串,%f表示浮点值。

在NSString中格式化浮点数时,您可以通过在%f之间放置一个值来指定要截断的小数位数。例如,要将第一个浮点数舍入为2个小数位,将第二个浮点数舍入为5个小数位:

NSString* yourString = [NSString stringWithFormat:@"%@ %.2f %@ %.5f", string1, float1, string2, float2];

答案 1 :(得分:2)

尝试:

NSString *str = [NSString stringWithFormat:@"Some text %f some more text %f", floatVar, anotherFloat];

答案 2 :(得分:1)

回答问题:

假设:

NSString *str1 = @"string one";
NSString *str2 = @"string two";

float f1 = 1.0;
float f2 = 2.0;

NSString *answer = [NSString stringWithFormat:@"%@: %f. %@: %f.", str1, f1, str2, f2];
NSLog(@"%@", answer); // This will print "string one: 1.000000. string two: 2.000000."

答案 3 :(得分:0)

float sampleFloatVariable = 50.0;

NSString *floatintoText = [NSString stringwithFormat:@"%f",sampleFloatVariable];

NSLog(@" float text %@",floatintoText);