जिन लोगों ने प्रलेखन लिखा है (जो अंकगणित से कुछ परिभाषाओं को याद नहीं करते हैं) खुद को इस बारे में अनिश्चित लगते हैं कि उन्होंने क्या लिखा है। एक ओर, स्पष्टीकरण की शुरुआत में वे ROUND
. का उल्लेख करते हैं - फिर भी बाद में जब वे अधिक औपचारिक परिभाषा देते हैं तो वे कहते हैं
"निकटतम पूर्णांक" को अंकगणित में औपचारिक रूप से परिभाषित नहीं किया गया है, और वास्तव में किसी को उस नाम का उपयोग राउंड (x) के लिए करने की अनुमति है, सिवाय इसके कि जब x का भिन्नात्मक भाग ठीक 0.5 है, जिस स्थिति में "पूर्णांक निकटतम" अस्पष्ट है और कोई भी चुन सकता है "राउंड डाउन" का उपयोग "नजदीकी पूर्णांक" की अपनी परिभाषा के रूप में करें।
यदि आप कर सकते हैं, तो दस्तावेज़ीकरण में ऐसी विसंगतियों से बहुत परेशान न हों। आप और भी बहुत कुछ देखेंगे।
हालांकि :इससे भी बुरी बात यह है कि व्यवहार असंगत है। मैं Oracle 12.1 का उपयोग करता हूं, और अपनी मशीन पर मैंने अभी कोशिश की और मुझे मिलता है
remainder(10, 4) = 2
remainder( 6, 4) = -2
कोई तुक या कारण नहीं। FLOOR और इस तरह का उपयोग करके अपना खुद का विभाजन करना बेहतर है।
संपादित करें - या शायद कोई कारण है; शायद वे "निकटतम पूर्णांक" की परिभाषा का उपयोग करते हैं, जिसका अर्थ है, टाई के मामले में, निकटतम सम पूर्णांक। अभी भी अप्रत्याशित परिणाम दे रहे हैं, सबसे अच्छा है कि Oracle के REMAINDER() फ़ंक्शन का उपयोग न करें।