如何将带负整数的NSString转换为负整数

时间:2017-07-26 06:49:10

标签: ios objective-c nsstring signed signed-integer

在我的应用中,如果NSString包含负整数,我想显示0。我试图将NSString转换为signed int,但我的NSString到signed int转换代码总是返回0值。

  

例如:我想将@"-0.02"转换为-0.02 int。但我的代码总是返回0而不是原始值。

我尝试使用以下代码:

  1. (signed)[@"-0.02" intValue] //返回0
  2. [[NSNumberFormatter new] numberFromString:timespent] //返回值为-0.02的NSNumber但在进行< 0比较时,我将NSNumber转换为signedIntValue作为(signed)[[[NSNumberFormatter new] numberFromString:timespent] intValue] //但它返回0
  3. 任何人都知道在iOS中如何做到这一点 - Objective-c?

1 个答案:

答案 0 :(得分:3)

您必须使用double代替int

您的字符串值为double而不是integer

   NSString *numberString = @"-0.02";

   double value = [numberString doubleValue];
   NSLog(@"%.2f", value);  //-0.02