2009-09-04 16 views
7

मैं क्लासिक एएसपी के लिए नया हूं, मेरा पूरा अनुभव सी # नेट और कोल्डफ्यूजन और PHP में है।क्लासिक एएसपी सिंट

वैसे भी, मैं इस साइट पर काम कर रहा हूँ सब जगह

If (CInt("0" & myVar) > 0) Then 
    myNewCar = CInt("0" & myVar) 
End If 

क्या मुझे समझ नहीं आता क्यों "0" CInt में वर को संलग्न है (है) इनपुट पर इस कोड है ? क्या मैं बस कुछ याद कर रहा हूँ? क्या यह किसी तरह की सुरक्षा चीज है? क्या यह कुशल है?

एक तरफ ध्यान दें, किसी भी क्लासिक एएसपी किताबों की सिफारिश की जाती है?

+0

मज़ा का एक सा है कभी नहीं मिलेगा। उप उपरोक्त जोड़ें ( –

+0

उप सिंट (वैल) cint = clng (वैल) अंत उप जोड़ें। पहले पोस्ट –

उत्तर

11

शून्य मूल्यों को संभालने के लिए यह एक पुराना हैक है। एक नल पर सीआईएनटी को कॉल करने से एक त्रुटि होगी। हालांकि स्ट्रिंग में एक नल परिणाम के साथ एक स्ट्रिंग को संयोजित करना इसलिए "0" & शून्य रिटर्न "0" है। यह सीआईएनटी को शून्य होने पर त्रुटि से रोकता है।

2

myVar कुछ भी नहीं हो सकता है, एक वस्तु, खाली स्ट्रिंग, या गैर-संख्यात्मक। पूर्व-लंबित "0" गारंटी देता है कि आपको कुछ वैध पूर्णांक वापस मिलेगा चाहे कोई फर्क नहीं पड़ता।

+1

सीआईएनटी (खाली) 0 के बारे में खेद है। किसी ऑब्जेक्ट के साथ "0" को संगत करने का प्रयास जिसमें डिफ़ॉल्ट नहीं है संपत्ति के परिणामस्वरूप एक त्रुटि होगी। – AnthonyWJones

0

मेरा क्लासिक एएसपी थोड़ा जंगली है, लेकिन मेरा मानना ​​है कि यह एक सुरक्षा बात है। उदाहरण के लिए, यदि MyVar को परिभाषित नहीं किया गया था और उसने सीआईएनटी करने की कोशिश की, तो इससे कोई त्रुटि आएगी।

+1

विकल्प स्पष्ट के साथ कोड संकलित नहीं होगा, विकल्प के बिना एक अपरिभाषित चर का वर्णन गतिशील रूप से परिभाषित किया गया है और खाली का मूल्य दिया गया है। खाली मान 0 से CInt होंगे। – AnthonyWJones

0

यदि आप एक शून्य मूल्य को देखते हैं तो आपको एक त्रुटि मिलेगी। यह Cstr

के मामले में नहीं है मानते हैं कि myVar> 0 की जांच मूल रूप से एक शून्य जांच है।

myVar=cstr(myVar) 
If (not length(myVar) = 0) Then 
    myNewCar = cint(myVar) 
End If 

तो myNewCar या तो "" या मान होगा और आपको एक त्रुटि

यहाँ
संबंधित मुद्दे