Cuando lo hago (/ 411 125)
, no lo entiendo en términos de decimal. ¿Cómo puedo hacer eso?Cuando divido números en clojure obtengo una fracción, ¿cómo obtengo el decimal?
Respuesta
user> (float (/ 411 125))
3.288
user> (double (/ 411 125))
3.288
Como documented, la división entera produce números racionales. Pruebe
(/ 411.0 125)
Si utiliza un flotador para el dividendo, obtendrá una respuesta decimal.
(/ 22.0 7) -> 3.142857142857143
También está disponible la función (unchecked-remainder x y).
user=> (clojure-version)
"1.4.0"
user=> (doc quot)
-------------------------
clojure.core/quot
([num div])
quot[ient] of dividing numerator by denominator.
nil
user=> (quot 411 125)
3
(float 411/125)
es otra variante si se le da los números directamente, que es el caso si usted está usando el REPL como una calculadora. Desafortunadamente, este es unos pocos caracteres más que la solución de Jonathan Feinberg y ire_and_curses. ;)
aunque esto funcionará:
(/ 22. 7) => 3.142857142857143
También debe incluir algunas explicaciones sobre por qué su código funciona y qué está mal en el código original. – vyegorov
no hay nada malo con otras soluciones, pero, al igual que otras soluciones, represento otra forma de pensar en dobles. en cuanto a por qué está funcionando; No estoy seguro, pero creo que Clojure lo heredó de Java, que acepta cualquier dígito con punto decimal como Doble, incluso si está formateado con una posición decimal cero – Samir
- 1. SQL - ¿Cómo obtengo solo los números después del decimal?
- 2. Python Convierte fracción a decimal
- 3. Redondeo de la fracción decimal en ios
- 4. Aproximación de fracción decimal a fracción irracional
- 5. ¿Cómo obtengo un valor decimal cuando uso el operador de división en Python?
- 6. Clojure: ¿Cómo obtengo una lista de combinaciones de 'coordenadas'?
- 7. Cómo analizar una fracción decimal en Rational en Haskell?
- 8. De Fracción a Decimal y Atrás?
- 9. Java: ¿cómo obtengo la parte después del punto decimal?
- 10. ¿Por qué obtengo InvalidCastException al convertir un doble en decimal?
- 11. Algoritmo optimizado para convertir un decimal en una fracción "bonita"
- 12. ¿Cómo obtengo el inverso de una función?
- 13. cómo obtengo el título de una URL
- 14. PHP convierte decimal a fracción y viceversa?
- 15. Redondeando números a n decimales en clojure
- 16. ¿Cómo obtengo "paréntesis de arcoíris" en emacs?
- 17. ¿Cómo obtengo la secuencia de números en un conjunto ordenado que están entre dos enteros en clojure?
- 18. ¿Cómo obtengo una variable en otra actividad?
- 19. En Python, ¿cómo obtengo el marco actual?
- 20. ¿Cómo obtengo el objeto org.apache.catalina.connector.Request en Tomcat?
- 21. Obtengo una NullPointerException cuando uso ACTION_IMAGE_CAPTURE para tomar una foto
- 22. ¿Cómo obtengo el tipo de puntero en una plantilla?
- 23. ¿Cómo obtengo comentarios en Disqus?
- 24. ¿Cómo obtengo opciones interdependientes?
- 25. Cómo obtengo sal.h
- 26. ¿Cómo obtengo Bin Path?
- 27. ¿Cómo obtengo% LocalAppData% en C#?
- 28. ¿Cómo redondear un decimal a la fracción más cercana?
- 29. ¿Cómo obtengo 'Lisp?
- 30. ¿Cómo obtengo el uso de php?
doc no funciona para mí. Tengo la misma versión de clojure. ¿Debo importar algo? – justinhj
Lo siento, debería haberlo dicho, es una sesión de REPL administrada por [leiningen] (http://leiningen.org). Es la herramienta de administración del * the * project (y por lo tanto de la dependencia) para los proyectos de Clojure. Una vez que lo haces funcionar, no te arrepentirás. –
Estoy usando leiningen también – justinhj