मैंने सोचा था कि एक NaN पर किसी भी गणितीय आपरेशन के परिणाम है कि मुझे एक NaN वापस देना चाहिए, लेकिन Math.round(Float.NaN) == 0
Math.round() NaN तर्कों के लिए 0 क्यों लौटाता है?
Math.round() के इस तरह के व्यवहार के लिए तर्क क्या है?
मजे की बात है, सी # अलग ढंग से व्यवहार करती है: http://msdn.microsoft.com/en-us/library/75ks3aby.aspx
@pst के रूप में कहा गया है, इसका सामान्य व्यवहार NaN के लिए परिभाषित किया गया है: "यदि तर्क NaN है, तो परिणाम 0 है"। –
तर्क यह है कि NaN पर कॉल किए जाने पर 'Math.round()' में एक बग होता था, यह संभावित रूप से 'Math.round() ': http://bugs.sun.com/bugdatabase/ पर भविष्य की कॉल को बर्बाद कर सकता है: view_bug.do?bug_id=4755500 –
अंतर होने की संभावना है; जावा में यह 'लम्बा' देता है जो 'डबल एनएएन' नहीं हो सकता है जबकि सी # यह एक 'डबल' –