Object-Cの割り算でハマった

Posted 2010年6月20日 | Auther dada | Category PC・デジタル | Tag タグ: ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

もんのすごい単純なことでドハマりました…。

float floatNum = 128 / 255;
NSLog(@"%f", floatNum);  // 結果は「0.0000〜」
float floatNum = 128.0 / 255.0;
NSLog(@"%f", floatNum);  // 結果は「0.501960〜」

小数点のついた値でないと切り捨てられちゃうのかーーーー!!!
c言語ってのはそういうもんなんですか?

しかし整数で格納している値を計算して小数点を出したい時は
どうやって「.0」をつければいいんだろう…。

int intNum = 10;
float floatNum = intNum;
NSLog(@"%f", floatNum/50);  // 結果は「0.2000〜」

なるほど、いったん float型に代入すればいいのか。
って、めんどくさいw

Object-Cで16進数文字列から数値に

Posted 2010年6月19日 | Auther dada | Category PC・デジタル | Tag タグ: ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

iPhoneプログラミングメモ。

htmlなどで使う16進数の色を10新数の数値に変換する方法。

NSString *colorString = @"ff0000";
int r,g,b;
sscanf([colorStr UTF8String],"%02X%02X%02X",&r,&g,&b);

NSScanner の scanHexInt を使ってもできるみたいだけど、
こっちのがシンプルなので。

#defineを使う方法なんてのもあるんですね。

#define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0 
green:((c>>8)&0xFF)/255.0 
blue:(c&0xFF)/255.0 
alpha:1.0];

UIColor *color = HEXCOLOR(0xff00ff);

カテゴリー