Cuando lo hago, por ejemplo, (/ 1.0 7.0), solo obtengo 17 dígitos: 0.14285714285714285. ¿Cómo puedo obtener más que eso?Redondeando números a n decimales en clojure
11
A
Respuesta
14
Uso BigDecimal
números y with-precision
:
(with-precision 50 (/ 1M 7))
=> 0.14285714285714285714285714285714285714285714285714M
10
Clojure (y casi todas Lisps) tiene el tipo de relación de esa manera no se pierde precisión. haga todos sus cálculos con la razón y conviértalo en doble/flotante en el último minuto para evitar problemas de precisión.
+0
Sin embargo, tenga cuidado con las proporciones. Por ejemplo, si sigues multiplicando ratios repetidamente, puedes terminar con numeradores y denominadores enormes. Esto puede ser muy lento y puede usar mucha RAM. – Mars
Cuestiones relacionadas
- 1. Redondeando números a múltiplos específicos
- 2. Redondeando números en Twig
- 3. Redondeando números en Objective-C
- 4. Redondeando un doble a 5 decimales en Java ME
- 5. Generando números binarios de n dígitos en clojure
- 6. Cómo mostrar con n decimales en Matlab
- 7. Sass y redondeando números. ¿Se puede configurar esto?
- 8. cómo validar números decimales en PHP
- 9. Validación de números decimales
- 10. javascript - cómo evitar Ajustar a números decimales
- 11. Validación javascript números decimales
- 12. Lista con números decimales
- 13. Generar números aleatorios de -n a n en C
- 14. Clojure redondeo de cifras decimales
- 15. Formato Float hasta n decimales
- 16. Clojure números primos secuencia perezosa
- 17. números decimales fijos con JAVA
- 18. Mostrar números sin puntos decimales
- 19. cómo redondear números decimales en Android
- 20. Double.ToString con N Número de lugares decimales
- 21. Aritmética rápida de números complejos en Clojure
- 22. números y decimales coincidentes expresiones regulares
- 23. Java BigDecimal eliminar números decimales y finales
- 24. expresión regular para encontrar números decimales/float?
- 25. NSNumberFormatter no permite teclear números decimales
- 26. Clojure - Calcular con números grandes
- 27. Clasifique N números en orden de dígitos
- 28. ajuste a 2 decimales
- 29. dividir el flotante en números enteros y decimales en Ruby
- 30. Formato valores dobles utilizando un máximo de cinco dígitos en total, redondeando dígitos decimales si es necesario
Sí, eso fue bastante sencillo. Me duele hacer tales preguntas. ¡Muchas gracias! –
Observe, incluso con precisión, y BigDecimal se está redondeando en algún punto y los dígitos 142857 simplemente se repiten infinitamente. (ver http://en.wikipedia.org/wiki/Continued_fraction) – klang
Clojure documentos: ['with-precision'] (http://clojuredocs.org/clojure_core/clojure.core/with-precision) –