【发布时间】:2017-07-26 06:49:10
【问题描述】:
在我的应用程序中,如果 NSString 包含负整数,我想显示 0。我试图将 NSString 转换为有符号整数,但我的 NSString 到有符号整数的转换代码总是返回 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 中做到这一点?
【问题讨论】:
-
float numFloat = [@"-0.02" floatValue]; // 返回 -0.02。
-
你应该尝试使用这个
NSString* value = @"-123"; intValueOfString = [value IntergerValue];。而不是 intValue 使用 intergerValue -
你应该阅读“整数”(int)在你的语言中的翻译,或者知道它的数学含义。
-
注意:int 是整数,整数是整数,如 1,2,3,4,5。您不能像您在问题中指定的那样使用 -0.02 int,因为 -0.02 是浮点数而不是 int。
标签: ios objective-c nsstring signed signed-integer