【问题标题】:cocoa - converting a double to string可可 - 将双精度转换为字符串
【发布时间】:2010-03-18 15:44:01
【问题描述】:

我有一个双数,我想把它转换成字符串。

例如,数字是这样的

24.043333332154465777...

但如果我使用类似的东西将其转换为字符串

NSString *myString = [NSString stringWithFormat:@"%f", myDouble];

字符串只是

24.043333

我如何得到一个完整的字符串,对应于整个双数?我还有什么其他方法可以转换它?

【问题讨论】:

    标签: iphone cocoa iphone-sdk-3.0


    【解决方案1】:

    另一个选项,因为您在对 mipadi 的回答的评论中要求其他方式:

    使用NSNumber *myDoubleNumber = [NSNumber numberWithDouble:myDouble]; 创建一个NSNumber

    然后拨打[myDoubleNumber stringValue];

    来自文档:

    将接收者的值作为人类可读的字符串返回,通过调用 descriptionWithLocale: 创建,其中 locale 为 nil。

    【讨论】:

    • 这两种方法 - 你的和 mipadi 的 - 都非常适合转换,但由于某种原因,mipadi 给了我一个与原始数字略有不同的字符串。你给我同样的号码...谢谢。
    【解决方案2】:
    [NSString stringWithFormat:@"%.20f", myDouble];
    

    @(myDouble).stringValue;
    

    【讨论】:

      【解决方案3】:

      您可以将宽度格式说明符传递给stringWithFormat

      NSString *myString = [NSString stringWithFormat:@"%.20f", myDouble];
      

      myDouble 格式化为小数点后 20 位。

      【讨论】:

      【解决方案4】:

      【讨论】:

        【解决方案5】:

        [NSString stringWithFormat:@"%.0f", myDouble];

        使用这个没有十进制值

        【讨论】:

          猜你喜欢
          • 2011-08-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-10
          相关资源
          最近更新 更多