में गोल करने के लिए गोल करने की संख्या, उदाहरण के लिए, (/ 1.0 7.0), मुझे केवल 17 अंक मिलते हैं: 0.14285714285714285। मैं तब और कैसे प्राप्त कर सकता हूं?क्लोजर
Q
क्लोजर
11
A
उत्तर
14
उपयोग BigDecimal
संख्या और with-precision
:
(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
10
Clojure (और काफी सभी lisps) अनुपात प्रकार है कि जिस तरह से आप सटीक नहीं खोना है। सटीक समस्याओं से बचने के लिए अपनी सभी गणना अनुपात के साथ करें और अंतिम मिनट में डबल/फ्लोट में कनवर्ट करें।
+0
हालांकि, अनुपात के साथ सावधान रहें। उदाहरण के लिए, यदि आप बार-बार अनुपात को गुणा करते रहते हैं, तो आप विशाल संख्यात्मक और denominators के साथ समाप्त हो सकता है। यह बहुत धीमा हो सकता है और बहुत सी रैम का उपयोग कर सकता है। – Mars
संबंधित मुद्दे
- 1. क्लोजर क्लोजर
- 2. क्लोजर (fkmeans) क्लोजर
- 3. क्लोजर संपादक क्लोजर
- 4. क्लोजर
- 5. क्लोजर
- 6. क्लोजर
- 7. क्लोजर
- 8. क्लोजर
- 9. क्लोजर
- 10. क्लोजर
- 11. क्लोजर
- 12. क्लोजर
- 13. क्लोजर
- 14. क्लोजर
- 15. क्लोजर
- 16. क्लोजर
- 17. क्लोजर
- 18. क्लोजर
- 19. क्लोजर
- 20. क्लोजर
- 21. क्लोजर
- 22. क्लोजर
- 23. क्लोजर
- 24. क्लोजर
- 25. क्लोजर
- 26. क्लोजर
- 27. क्लोजर
- 28. क्लोजर
- 29. क्लोजर
- 30. क्लोजर
हाँ, यह काफी सरल था। ऐसे प्रश्न पूछने के लिए मेरे लंगड़े। बहुत धन्यवाद! –
निरीक्षण करें, यहां तक कि परिशुद्धता और बिगडिसीमल कुछ बिंदु पर घूम रहा है और अंकों 142857 को अनंत काल में दोहराया जाता है। (http://en.wikipedia.org/wiki/Continued_fraction देखें) – klang
क्लोजर दस्तावेज़: ['परिशुद्धता'] (http://clojuredocs.org/clojure_core/clojure.core/with-precision) –