कभी-कभी, एक्टिवरकॉर्ड डेटा प्रकार मुझे भ्रमित करते हैं। इर, अक्सर। मेरे शाश्वत प्रश्नों में से एक, एक दिए गए मामले के लिए है,
क्या मुझे उपयोग करना चाहिए
:decimal
या:float
?
मैं अक्सर इस लिंक पर आता हूं, ActiveRecord:: दशमलव बनाम: फ्लोट? , लेकिन उत्तर मेरे लिए कुछ स्पष्ट होने के लिए पर्याप्त स्पष्ट नहीं हैं:
मैंने कई सूत्र देखे हैं जहाँ लोग फ़्लैट का उपयोग नहीं करने और हमेशा दशमलव का उपयोग करने के लिए फ्लैट आउट की सलाह देते हैं। मैंने कुछ लोगों के सुझावों को केवल वैज्ञानिक अनुप्रयोगों के लिए फ्लोट का उपयोग करने के लिए भी देखा है।
यहाँ कुछ उदाहरण मामले हैं:
- जियोलोकेशन / अक्षांश / देशांतर:
-45.756688
,120.5777777
, ... - अनुपात / प्रतिशत:
0.9
,1.25
,1.333
,1.4143
, ...
मैंने :decimal
अतीत में उपयोग किया है, लेकिन मैंने पाया BigDecimal
कि रूबी में एक फ्लोट की तुलना में रूबी अनावश्यक रूप से अजीब थी। मुझे यह भी पता है कि मैं :integer
उदाहरण के लिए धन / सेंट का प्रतिनिधित्व करने के लिए उपयोग कर सकता हूं , लेकिन यह अन्य मामलों के लिए बिल्कुल फिट नहीं है, उदाहरण के लिए जब मात्रा जिसमें सटीक समय के साथ बदल सकता है।
- प्रत्येक का उपयोग करने के फायदे / नुकसान क्या हैं?
- किस प्रकार का उपयोग करना है, यह जानने के लिए अंगूठे के कुछ अच्छे नियम क्या होंगे?