美文网首页
各种类型的数据转换字符串太麻烦了,有没有好的方法方式

各种类型的数据转换字符串太麻烦了,有没有好的方法方式

作者: Jackey_song | 来源:发表于2018-03-17 19:09 被阅读8次

各种类型的数据转换字符串太麻烦了,有没有好的方法方式

解决方案

OC里没有像C++那种重载的概念,但是有个宏可以实现类似的功能__attribute__((overloadable))

可以建一个文件类似ConvertToNSString.h,在放入以下代码即可实现一个方法转换任意类型的功能。

#ifdef __OBJC__

#import 

#endif

#if __has_extension(attribute_overloadable)

staticinline__attribute__((overloadable)) NSString* stringFrom(idarg) {

 return[NSStringstringWithFormat:@"%@", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(chararg) {

 return[NSStringstringWithFormat:@"%c", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(unsignedchararg) {

 return[NSStringstringWithFormat:@"%c", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(shortarg) {

 return[NSStringstringWithFormat:@"%hd", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(unsignedshortarg) {

 return[NSStringstringWithFormat:@"%hu", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(intarg) {

 return[NSStringstringWithFormat:@"%d", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(unsignedintarg) {

 return[NSStringstringWithFormat:@"%u", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(longarg) {

 return[NSStringstringWithFormat:@"%ld", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(unsignedlongarg) {

 return[NSStringstringWithFormat:@"%lu", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(longlongarg) {

 return[NSStringstringWithFormat:@"%lld", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(unsignedlonglongarg) {

 return[NSStringstringWithFormat:@"%llu", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(floatarg) {

 return[NSStringstringWithFormat:@"%f", arg];

}

staticinline__attribute__((overloadable)) NSString* stringFrom(doublearg) {

 return[NSStringstringWithFormat:@"%f", arg];

}

#endif

相关文章

  • 各种类型的数据转换字符串太麻烦了,有没有好的方法方式

    各种类型的数据转换字符串太麻烦了,有没有好的方法方式 解决方案 OC里没有像C++那种重载的概念,但是有个宏可以实...

  • 类型转换

    字符串与各种类型转换 数字跟各种类型转换 Boolean 类型跟各种类型转换 转换成数值类型 Number(a) ...

  • 数据类型转换1

    数据转换两种方式,隐式转换和显式转换。 字符串拼接 数学运算(+ - * /...) ==比较 显示转换 对象转换...

  • JS 里的数据类型转换

    JS 里的数据类型转换 某类型转换为字符串的方法eg.var a=4 用 变量.toString()方法,a.to...

  • 数组扁平化的实现方式

    数组扁平化的实现方式 方法一 利用数组的 join() 转换成字符串,利用字符串的 split() 转换成...

  • JS里的类型

    数据类型转换 转换为字符串 toString 方法// number 类型var n = 1n.toString(...

  • JavaScript 字符串

    1.字符串的转换 toString() 方法,返回一个表示该对象的字符串,可以将所有的数据都转换为字符串,但是要排...

  • Java中byte数组和String字符串相互转换

    一、简单的转换 Java中String提供了byte数组和String字符串相互转换的方法。 二、带编码方式转换 ...

  • 03_JavaScript_day2

    五、数据类型转换 5.1 转换成字符型 使用字符串方法 toString() 转换,但是null和undefine...

  • js字符串处理

    1、字符串转换 字符串转换是最基础的要求和工作,你可以将任何类型的数据都转换为字符串,你可以用下面三种方法的任何一...

网友评论

      本文标题:各种类型的数据转换字符串太麻烦了,有没有好的方法方式

      本文链接:https://www.haomeiwen.com/subject/qhtrfftx.html