Quando si esegue, ad esempio, (/ 1.0 7.0), ottengo solo 17 cifre: 0.14285714285714285. Come posso ottenere di più allora?Arrotondamento di numeri a n decimali in clojure
11
A
risposta
14
Usa BigDecimal
numeri e with-precision
:
(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
10
Clojure (e praticamente tutte le lische) ha un rapporto tipo in questo modo non si perde di precisione. fai tutti i tuoi calcoli con il rapporto e converti in double/float all'ultimo minuto per evitare problemi di precisione.
+0
Tuttavia, fai attenzione ai rapporti. Ad esempio, se continui a moltiplicare i rapporti ripetutamente, potresti ritrovarti con numeratori e denominatori enormi. Questo può diventare molto lento e può utilizzare molta RAM. – Mars
Problemi correlati
- 1. Clojure arrotondamento al decimali
- 2. Arrotondamento dei numeri decimali utilizzando toxxed
- 3. arrotondamento decimali in Django
- 4. Arrotondamento a 2 cifre decimali in SQL
- 5. Arrotondamento di numeri a multipli specifici
- 6. arrotondamento punti decimali
- 7. decimali in calo di PHP senza arrotondamento
- 8. Arrotondamento dei numeri a 10 in R
- 9. Arrotondamento con due decimali in Ottava
- 10. Generazione di numeri binari di n cifre nel clojure
- 11. Arrotondamento dei numeri in Twig
- 12. Arrotondamento dei numeri in R al numero di cifre specificato
- 13. visualizzazione di numeri decimali
- 14. Numpy loadtxt arrotondamento numeri
- 15. Convertire esponenziali e numeri di arrotondamento in bash
- 16. Numeri di arrotondamento in Objective-C
- 17. Generazione di numeri casuali da -n a n in C
- 18. Ottieni ultime 2 cifre decimali senza arrotondamento
- 19. arrotondamento a 2 cifre decimali usando MongoDB aggregazione quadro
- 20. Arrotondamento necessario con numeri BigDecimal
- 21. Sass e numeri di arrotondamento. Può essere configurato?
- 22. Convalida dei numeri decimali
- 23. Perché i numeri Clojure terminano con "N" nel REPL?
- 24. Convalida javascript numeri decimali
- 25. Aritmetica di numeri complessi veloci in Clojure
- 26. Come tagliare le cifre decimali senza arrotondamento in C
- 27. Clojure numeri primi di sequenza pigro
- 28. javascript - come impedire a Fixed di arrotondare i numeri decimali
- 29. numeri corrispondenti Regex e decimali
- 30. angular.js - numeri decimali in notazione europea
Sì, era abbastanza semplice. Zoppo da parte mia per fare queste domande Grazie tante! –
Osservate, anche con precisione e BigDecimal si sta arrotondando ad un certo punto e le cifre 142857 sono appena ripetute all'infinito. (vedi http://en.wikipedia.org/wiki/Continued_fraction) – klang
Clojure docs: ['with-precision'] (http://clojuredocs.org/clojure_core/clojure.core/with-precision) –