2010-04-12 12 views
27

¿Hay una biblioteca madura para hacer cálculos matemáticos basados ​​en decimales, posiblemente de precisión arbitraria, en JavaScript?¿Hay una biblioteca de matemáticas decimal para JavaScript?

Editar: Quiero esta información de una página de referencia sobre los problemas y las alternativas relacionadas con punto flotante para utilizar cuando binaria de punto flotante es inapropiado: http://floating-point-gui.de/

+0

'El servidor'. En serio, ¿por qué lo necesitas? Serverside JS? Algunas matemáticas especiales? 3D en un lienzo? ... Eso tal vez podría ayudar a buscar en la dirección correcta. – Boldewyn

+3

Buena pregunta, pero un duplicado. Ver: http://stackoverflow.com/questions/287744/good-open-source-javascript-math-library-for-floating-point-operations – Anthony

+5

@Anthony esa pregunta es sobre ** punto flotante **, mientras que la pregunta es (creo) sobre el punto fijo de precisión infinita. El segundo que vinculó es claramente irrelevante. – Pointy

Respuesta

6

Ha habido un "puerto" de la Java BigDecimal clase (creo que está aquí: http://freshmeat.net/projects/js_bigdecimal/) durante mucho tiempo. Lo miré hace mucho tiempo y me pareció algo engorroso y enorme, pero (si es en ese en el que estoy pensando) se ha utilizado como parte de algunas herramientas de criptografía, por lo que hay buenas posibilidades de que funcione bien.

Debido a que la criptografía es un área probable para generar una necesidad de tales cosas, esa es una buena forma de husmear por tales paquetes.

edición: Gracias @ Daniel (comentario a la pregunta) para este viejo, así que pregunta: https://stackoverflow.com/questions/744099/javascript-bigdecimal-library

+0

La página oficial del puerto BigDecimal parece ser esta: http://stz-ida.de/html/oss/js_bigdecimal.html.es - No pude encontrar la manera de descargarla de la carne fresca. –

+0

Ah. Bueno, aparece en todas partes en las búsquedas de google. Ha existido por mucho tiempo. – Pointy

+1

El enlace BigDecimal obtiene 404. Parece que el sitio se rediseñó. Nuevo enlace: http://stz-ida.de/index.php?option=com_content&view=article&id=18&Itemid=32 – spoulson

14

Como su autor, recomiendo bignumber.js o big.js, 'una biblioteca pequeña, rápido Javascript para precisión arbitraria con numeros decimales'.

Para una biblioteca más madura, también se recomienda la traducción ICU4J BigDecimal.

+1

Este último es en realidad la biblioteca mencionada en la otra respuesta, ahora se le da un hogar más permanente en github. –

+0

bignumber.js está ahora en el [jsdelivr CDN] (http://www.jsdelivr.com/#!bignumber.js) – Xotic750

1

Dado que no parece ser mencionado, aquí está another one. No lo he usado yo mismo (todavía), así que actualizaré la publicación una vez que lo haya probado.

Cuestiones relacionadas