2011-06-02 40 views
44

Bản sao có thể xảy ra:
Objective C - float checking for nan
Determine if NSNumber is NaNlàm thế nào để kiểm tra các giá trị NaN trong Objective-C (iphone sdk)

Tôi có một vấn đề với các giá trị NaN trong CGFloat, làm thế nào có thể Tôi kiểm tra xem số có hợp lệ không?

cách duy nhất cho đến nay mà làm việc là:

if ([[NSString stringWithFormat:@"%f", output] isEqualToString:@"nan"]) { 
output = 0; 
} 

mà không phải là một giải pháp tốt đẹp ở tất cả !!!! :) ... và tôi khá chắc chắn rằng có một cái gì đó khác tôi nên làm thay vì ...

+1

Một chuỗi các giá trị nhân bản, thậm chí : [Mục tiêu C - kiểm tra phao cho nan] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) đến [isNan in objective c] (http://stackoverflow.com/question/2109257/isnan-in-objective-c) để [Xác định xem NSNumber là NaN] (http://stackoverflow.com/questions/719417/determine -if-nsnumber-is-nan) –

+2

Tôi tin [câu hỏi này] (http://stackoverflow.com/questions/3471988/objective-c-float-checking-for-nan) có câu trả lời cho vấn đề của bạn. – makdad

Trả lời

136

Có một xác định để kiểm tra nếu một số là nan inf vv trong math.h (bạn có thể sử dụng nó mà không cần nhập Tôi nghĩ).

isnan(myValue) 

nếu bạn làm theo các định nghĩa, bạn sẽ kết thúc với

(x!=x) 

cũng có một số định nghĩa hữu ích khác như isinf, isnormal, isfinite ...

+1

rực rỡ! cảm ơn – SpaceDog

Các vấn đề liên quan