【问题标题】:Building string with float variables使用浮点变量构建字符串
【发布时间】:2012-04-29 20:22:49
【问题描述】:

如何构建一个由stringfloat 变量组成的NSString 变量?

我假设我需要将浮点数转换为字符串,但如果不创建大量凌乱和丑陋的代码,我就无法看到这是如何完成的。

我想构建这样的东西:String+ Float+ String+ Float

提前致谢。

【问题讨论】:

  • Objective C 中的字符串与 Java 中的字符串非常不同。请参阅我的答案以获得解释。

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


【解决方案1】:

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

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

你不能在 Objective 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];

【讨论】:

    【解决方案2】:

    试试:

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

    【讨论】:

      【解决方案3】:

      按要求回答问题:

      假设:

      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."
      

      【讨论】:

        【解决方案4】:
        float sampleFloatVariable = 50.0;
        
        NSString *floatintoText = [NSString stringwithFormat:@"%f",sampleFloatVariable];
        
        NSLog(@" float text %@",floatintoText);
        

        【讨论】:

        • string + float ..没看懂..你能举个例子..你想达到什么
        猜你喜欢
        • 2018-07-06
        • 2019-02-18
        • 2023-03-10
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 1970-01-01
        相关资源
        最近更新 更多