NSString与int和float的相互转换以及字符串拼接

一、NSString与int和float的相互转换

NSString *tempA = @"123";

NSString *tempB = @"456";

 1.字符串拼接

 NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

 2.字符转int

  int intString = [newString intValue];

 3.int转字符
  

NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

 4.字符转float 

   float floatString = [newString floatValue];

    5.float转字符

NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];

二、 字符串拼接

    NSString *string;//结果字符串

    NSString* string1, string2;//已存在的字符串,需要将string1和string2连接起来

    //方法一:

    string = [NSString initWithFormat:@"%@,%@", string1, string2 ];

    //方法二:

    string = [string1 stringByAppendingString:string2];

    //方法三:

    string = [string stringByAppendingFormat:@"%@,%@",string1, string2];

三、NSString、NSData、char* 类型之间的转换

   1. NSString转化为UNICODE String:

(NSString*)fname = @“Test”; 

char fnameStr[10];

memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));

与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节
2. NSString 转化为 char *

NSString * str= @“Test”;
const char * a =[str UTF8String];

3.char * 转化为 NSString

NSString *str=[NSString stringWithCString  encoding:NSUTF8StringEncoding];

 4. char * 转化 NSData

 方法一:
   char * a = (char*)malloc(sizeof(byte)*16);
   NSData *data = [NSData dataWithBytes: a   length:strlen(a)];
 方法二:
    转换为NSString: - (id)initWithUTF8String:(const char *)bytes
    然后用NSString的 - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
5. NSData 转化 char *
  NSData data ;
  char* a=[data bytes];
6. NSData 转化 NSString;
NSData* data;
NSString* aStr= [NSString alloc] initWithData:data   encoding:NSASCIIStringEncoding];

7. NSString 转化 NSData对象
NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大王算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值