在我的应用中,如果NSString包含负整数,我想显示0
。我试图将NSString转换为signed int,但我的NSString到signed int转换代码总是返回0
值。
例如:我想将
@"-0.02"
转换为-0.02 int
。但我的代码总是返回0
而不是原始值。
我尝试使用以下代码:
(signed)[@"-0.02" intValue]
//返回0 [[NSNumberFormatter new] numberFromString:timespent]
//返回值为-0.02的NSNumber但在进行< 0
比较时,我将NSNumber
转换为signedIntValue
作为(signed)[[[NSNumberFormatter new] numberFromString:timespent] intValue]
//但它返回0 任何人都知道在iOS中如何做到这一点 - Objective-c?
答案 0 :(得分:3)
您必须使用double
代替int
您的字符串值为double
而不是integer
。
NSString *numberString = @"-0.02";
double value = [numberString doubleValue];
NSLog(@"%.2f", value); //-0.02