【问题标题】:NSString To NSNumber with formatNSString 到 NSNumber 格式
【发布时间】:2012-09-04 13:10:13
【问题描述】:

我的应用中有一个秒表。时间显示在标签上,格式为:mm:ss.SSS 作为 NSString。我需要将其转换为 NSNumber。我用谷歌搜索了很多次,但没有找到答案。

谢谢!

【问题讨论】:

  • 你希望 NSNumber 代表什么?秒、毫秒、天?
  • stackoverflow.com/questions/12263832/… 看看这个链接可能对你有帮助
  • 我需要它作为一个浮点值,我可以稍后将它与另一个分数相等。例如:if (stopwatch.text

标签: iphone objective-c ios nsstring nsnumber


【解决方案1】:

以下以自参考日期起的秒数为您提供日期/时间。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"mm:ss"];
NSDate *date = [formatter dateFromString:textField.text];
NSNumber *dateAsNumber = [NSNumber numberWithFloat:[date timeIntervalSince1970]];

【讨论】:

    【解决方案2】:

    试试下面的代码:

    NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
    [f setNumberStyle:NSNumberFormatterDecimalStyle];
    NSNumber * myNumber = [f numberFromString:@"42"];
    [f release];
    

    但是用你的 label_name.text 改变 @"42"

    【讨论】:

      【解决方案3】:

      这是您可以将 NSString 转换为 NSNumber 的方式。

      NSString *timeFormat = @"Your Time";
      NSNumber *time = [NSNumber numberWithInt:[timeFormat integerValue]];
      

      【讨论】:

      • 把NSString转换成NSNumber才是正确的方法....要么你要实现错误的逻辑,要么是别的什么,那我不知道,但它是正确的,我用过。跨度>
      猜你喜欢
      • 2013-03-22
      • 1970-01-01
      • 2023-04-08
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多