2012-04-01 8 views
5

मैं डेल्फी के साथ एक सकारात्मक इंटीजर को नकारात्मक में कैसे परिवर्तित करूं? मुझे पता है कि नकारात्मक को सकारात्मक में बदलने के लिए आप ABS(int) का उपयोग कर सकते हैं, लेकिन मुझे इसे सकारात्मक रूप से नकारात्मक में बदलने की आवश्यकता है।मैं सकारात्मक संख्या को नकारात्मक में कैसे परिवर्तित करूं?

+1

सूत्र हो आप जानते हैं कि 'A' सकारात्मक है, और आप ऋणात्मक संख्या को मूल तक एक ही दूरी के साथ प्राप्त करना चाहते हैं, तो आप बस '-a' करते हैं। यदि आपको 'ए' का संकेत नहीं पता है, और आप यह सुनिश्चित करना चाहते हैं कि यह 'ए'' के साथ 'ए' को प्रतिस्थापित करता है, तो केवल 'ए' सकारात्मक होने पर, तो आप कर सकते हैं आरबीए की तरह सुझाव दिया, लेकिन मेफ द्वारा दृष्टिकोण बहुत साफ है: '-एबीएस (ए) '। –

उत्तर

16

जो मुझे पता है उससे कोई फंक्शन नहीं है। आप

if yourvariable > 0 then 
    yourvariable := -yourvariable; 
+1

धन्यवाद याहू सही है, मुझे सी ++ लॉल के समान ही गूंगा, मैं डेल्फी को दृश्य मूल के रूप में और सोच रहा था। – Tprice88

+2

@ ट्राइसिस, विजुअल बेसिक में ** यूनरी माइनस ऑपरेटर ** कई वर्षों से डेल्फी की तरह है। –

+0

ओ, आईव ने इसे कभी भी इस्तेमाल नहीं किया है क्योंकि मैंने विज़ुअल बेसिक 6 के उपयोग से इंकार कर दिया है। मैं नेट का उपयोग करने से इनकार करता हूं। – Tprice88

36

आप पूरी तरह एक नकारात्मक परिणाम प्राप्त करने के लिए सुनिश्चित हो करना चाहते हैं (या शून्य),

number := -abs(number) 
+1

यह नहीं होना चाहिए: संख्या: = -1 * abs (संख्या); ? –

+8

@ टोमहेगन: -x = -1 * x ∀x ∈ ℝ। –

1
//converting a positive to negative 

$negnumber = $posnumber - $posnumber - $posnumber ; 

eg; 

$posnumber = 4; 

$negnumber = 4 - 4 - 4 ; 
$negnumber = -4; 
+12

आप मजाक कर रहे हैं, है ना? –

5

Ehhh का उपयोग करें ... बहुत देर हो गई बना सकते हैं लेकिन number := number * -1; भी काम करेगा, लेकिन यह किसी भी संख्या का प्रतीक बदलता है, सकारात्मक और पीछे की तरफ ... नकारात्मक मान सुनिश्चित करने के लिए @ एमएफ उत्तर


संपादित करें: भी बाद में, लेकिन number := 0 - number; भी काम करेगा ... यह सिर्फ प्रतीक पराजयों के साथ-साथ

1

n अपना नंबर और के लिए n-(n*2) = -n