从数字00011 == 00010减去1为int

时间:2017-03-15 12:33:55

标签: objective-c

我正在进行简单的减法,数字00011来自DB ..

我必须从数字中减去1

00011 - 1 ==>结果应该是00010。

00011号码以字符串形式出现,因此我将其转换为int但我得到的结果是10.没有得到00010。

MKPolyLine

有没有办法保持数字,就像00011一样,在目标c中减去数字整数?

请注意:前导零不是常数。它可以是任意数量的零......

所以即使我做[NSSString stringWithFormat:@“%。5ld”,iTemp]它会给我3零,但是当没有。零或多或少这个等式会失败...

请帮忙......

1 个答案:

答案 0 :(得分:0)

数字0001010相等。 000前缀只是视觉表示的一部分。

如果要为UI或后端保留000前缀,则可以使用NSNumberFormatter。此外,不仅可以将它用于转换,不仅可以从数字转换为字符串,还可以从字符串转换为数字(使其成为全局/静态/类的一部分)。 实施例

NSString *sTemp = [dicfromDB valueForKey:@"NextNumber"]; // "00010"
long iTemp = sTemp.intValue; // 10

NSNumberFormatter *formatter = [NSNumberFormatter new];
formatter.minimumIntegerDigits = sTemp.length; 

[formatter stringFromNumber:@(iTemp)]; // "00010"

P.S。我建议使用基础类型(使用NS前缀)而不是C类型,例如long,int ...