如何将带有负整数的 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.
我尝试使用以下代码:
(signed)[@"-0.02" intValue]
//returns 0
[[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
在我的应用程序中,如果 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 returns0
instead original value.
我尝试使用以下代码:
(signed)[@"-0.02" intValue]
//returns 0[[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