iphone - uso - no se pudo activar la red de datos celulares no tienes suscripcion
¿Cómo convierto NSInteger a un tipo de datos NSString? (9)
Al compilar con soporte para arm64
, esto no generará una advertencia:
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
¿Cómo se convierte NSInteger
al tipo de datos NSString
?
Intenté lo siguiente, donde mes es un NSInteger
:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
La respuesta está dada, pero creo que para algunas situaciones esta será también una forma interesante de obtener cadenas de NSInteger
NSInteger value = 12;
NSString * string = [NSString stringWithFormat:@"%0.0f", (float)value];
Los NSIntegers no son objetos, los lanzas por long
, para que coincida con la definición actual de arquitecturas de 64 bits:
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
Manera fácil de hacer:
NSInteger value = x;
NSString *string = [@(value) stringValue];
Aquí el @(value)
convierte el NSInteger
dado a un objeto NSNumber
para el que puede llamar a la función requerida, stringValue
.
NSNumber puede ser bueno para usted en este caso.
NSString *inStr = [NSString stringWithFormat:@"%d",
[NSNumber numberWithInteger:[month intValue]]];
Obj-C way =):
NSString *inStr = [@(month) stringValue];
También puedes probar:
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];
Utilizar
objective c
moderno objective c
Dime 12 us tu NSInteger
NSString *integerAsString = [@12 stringValue];
o mejor
NSInteger number = 12;
NSString *integerAsString = [@(number) stringValue];
Muy simple. ¿No es así?
Si utiliza
Swift
var integerAsString = String(integer)
%zd
funciona para NSIntegers ( %tu
para NSUInteger) sin conversión y sin advertencias en las arquitecturas de 32 bits y de 64 bits. No tengo idea de por qué esta no es la " forma recomendada ".
NSString *string = [NSString stringWithFormat:@"%zd", month];
Si está interesado en por qué esto funciona, vea esta pregunta .