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

How to convert NSString with negative integer into negative integer

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

Eg: I want to convert @"-0.02" into -0.02 int. But my code always returns 0 instead original value.

我尝试使用以下代码:

  1. (signed)[@"-0.02" intValue] //returns 0
  2. [[NSNumberFormatter new] numberFromString:timespent] //returns 值为 -0.02 的 NSNumber 但在进行 < 0 比较时,我将 NSNumber 转换为 signedIntValue(signed)[[[NSNumberFormatter new] numberFromString:timespent] intValue] //但是它 returns 0

有人知道如何在 iOS - Objective-c 中做到这一点吗?

您必须使用 double 而不是 int

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

   NSString *numberString = @"-0.02";

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