javascript - Save integers as floats -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 2 जवाब
  फ़ंक्शन prec ( Numb_string = numb.toString ()। Split ('।') Return numb_string [(numb_string.length - 1)] लंबाई} फ़ंक्शन रैंडी (न्यूनतम, अधिकतम) {var most_accurate = Math.max (सटीक (न्यूनतम) ), सटीक (अधिकतम)); वापसी ((मठ। यादृच्छिक () * (अधिकतम - न्यूनतम) + न्यूनतम)। फिक्स (सबसे अधिक सटीक)); } // इन बिंदुओं के बीच यादृच्छिक संख्या देता है। 1 दशमलव सटीक स्थान: console.log (रैंडी (2.44.4)); // इन अंकों के बीच यादृच्छिक संख्या देता है। सटीकता के 3 दशमलव स्थान: console.log (रैंडी (2.443,4.445)); // इन अंकों के बीच यादृच्छिक संख्या देता है। 3 दशमलव स्थानों की शुद्धता चाहते हैं हालांकि, 0 प्राप्त करें: console.log (रेंडी (2.000,4.000)); // मुझे दशमलव स्थान क्यों मिलता है? क्योंकि फ़्लोट्स स्वतः पूर्णांक में गोल हो जाते हैं: console.log (4.0); // चाहते हैं 4.0 लॉग इन करने के लिए इसके बजाय मुझे '4' मिलता है  

आपको यह पढ़ना जरूरी नहीं है कि फ़ंक्शन कैसे काम करते हैं। बस सांत्वना लॉग

असल में, मुझे दो अंकों के बीच एक सटीक डिग्री के एक यादृच्छिक संख्या को वापस करना होगा। रेंडी फ़ंक्शन।

पास सटीक फ्लोट से परिशुद्धता स्वचालित रूप से प्राप्त हुई है। यह संख्या ठीक है जब संख्या सीमा 3.5 3.7 या 34.4322 800.3233 लेकिन 2.0 , 3.0 या 4.0000 नहीं, 5.0000

फिर संख्या स्वचालित रूप से पूर्णांक के रूप में सहेजी जाती है:

console.log (2.0) // = & gt; 2

मैं संख्या प्रोटोटाइप का विस्तार करना चाहता हूं ताकि 2.0 को 2.0 के रूप में सहेजा जा सके ताकि यह फ़ंक्शन पा सकते हैं परिशुद्धता:

  फ़ंक्शन सटी (numb) {var numb_string = numb.toString ()। Split ('।') Numb_string return [(numb_string.length - 1)] लंबाई }  

यह वर्तमान में सोचता है कि 3.000000000 में 0 दशमलव स्थान की शुद्धता है क्योंकि अगर 3E8 को सुन्न के रूप में पारित किया गया है पैरामीटर, इसे 3 के रूप में पढ़ा जाता है। मैं इसे 3.000000000

के रूप में पढ़ता हूं, जबकि मैं यह randy (2.toFixed (3), 3.toFixed (3)) कर सकता हूँ यह हो जाता है अपठनीय और यह निश्चित रूप से छोटे परिशुद्धता के लिए ऐसा करने के लिए अच्छा होगा: रेंडी (2.000,3.000)

क्या यह संभव है?

JS में केवल एक नंबर प्रकार है।
एक तरफ से

यदि आप सटीक प्रदर्शित करना चाहते हैं, तो num.toFixed (n) का उपयोग करें; टाइप करें। एक स्ट्रिंग के रूप में संख्या को संचित करने के लिए, जिसे आपने अनुरोध किया है, सटीक है।

आप बाद में स्ट्रिंग को अपने कोड में पार्स कर सकते हैं, उस पर कार्य कर सकते हैं, और फिर पर कॉल करें। फिक्स (n); परिणाम पर, सटीकता को बनाए रखने के लिए ...

लेकिन जब तक आपके पास विशिष्ट आवश्यकताओं की ज़रूरत नहीं है, या कई टुकड़ों को एक साथ लंपट कर रहे हैं, तो क्या आप राउंडिंग अकारणताओं से संबंधित नहीं होंगे, बस ऑपरेटिंग पूर्ण परिशुद्धता मानों पर, और फिर अंतिम परिणाम को गोलाकार / स्वरूपण करना

बेशक बहुत सारे अन्य समाधान हैं ...

... अनिवार्य परिशुद्धता का ट्रैक रखें एक इंट, मान का प्रतिनिधित्व कर रहा है ... ... या preferr के आधार पर एक int के रूप में अस्थायी मान का प्रतिनिधित्व करने वाला एक इंट रखना एड सटीक ... 1.235 हो जाता है [1, 235]

... कुछ भी संभव है।
उप-क्लासिंग, हालांकि, वास्तव में है जवाब नहीं होने वाला।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -