求救~ NSString *stringToSend = NSStringFromCGPoint(point); 这边输出的结果的形式是这样的:{x,y} 后来的想法是这样的: 可是这样不能正确的获得point的值? 这是为什么呢? |
|
point.x,point.y 值对么,stringToSend 呢?
|
|
stringToSend = [NSString stringWithFormat:@”m_%i_%i”,point.x,point.y];
换成 stringToSend = [NSString stringWithFormat:@”m_%f_%f”,point.x,point.y]; 你在xcode中右键单击CGPoint,选择JUMP to defination,你会看到其中两个变量X,y是CGFloat类型,就是浮点型,不是整形,那么在格式化输出的时候不能使用%i,而应该使用%f, 当然如果你希望格式化后结果是整形,那么请使用强制转换, stringToSend = [NSString stringWithFormat:@”m_%i_%i”,(int)point.x,(int)point.y]; |
|
40分 |
使用
stringToSend = [NSString stringWithFormat:@”m_%f_%f”,point.x,point.y]; 会有一个“缺点”,就是小数点后自动补齐6位,比如,如果x=10.0,那么输出结果是10.000000,这个可能不是你想要的,那么把f换成g吧,看看效果, |
谢谢哈~ 明天再看看是什么效果 |
|
不对 应该就像你楼下说的,是%i的问题, 因为我一直都觉得这样转换是没错的。 |
|
确实是换成%g就行了,谢谢! |