原始的な値の文字列を作成するにはどうすればよいですか?さて、構造体などは大きな問題かもしれません。しかし、浮動小数点数の場合、整数
注:これは、デバッグ、単体テスト、および楽しみのためだけのものです。
原始的な値の文字列を作成するにはどうすればよいですか?さて、構造体などは大きな問題かもしれません。しかし、浮動小数点数の場合、整数
注:これは、デバッグ、単体テスト、および楽しみのためだけのものです。
これは最も基本的なことをカバーしています..それで十分かどうかはわかりません...多分私は何か明白なものを見落としていますか?
#define _PRIMITIVE_AS_STRING(value) \
({\
const char *valueType = @encode(__typeof__(value));\
NSString *format = [NSString stringWithFormat:@"%s", printFormatTypeForObjCType(valueType)];\
NSString *valueAsString = [NSString stringWithFormat:format, value];\
valueAsString;\
})
static const char * printFormatTypeForObjCType(const char *type)
{
if(strcmp(type, @encode(BOOL)) == 0)
return "%d";
else if(strcmp(type, @encode(int)) == 0)
return "%d";
else if(strcmp(type, @encode(unsigned int)) == 0)
return "%u";
else if(strcmp(type, @encode(long)) == 0)
return "%li";
else if(strcmp(type, @encode(unsigned long)) == 0)
return "%lu";
else if(strcmp(type, @encode(long long)) == 0)
return "%lli";
else if(strcmp(type, @encode(unsigned long long)) == 0)
return "%llu";
else if(strcmp(type, @encode(float)) == 0)
return "%f";
else if(strcmp(type, @encode(double)) == 0)
return "%f";
else
return "%d";
}