josdejong/mathjs

Functions do not recon with `config.number` when converting a string into a numeric type

Open

#3.206 aberto em 29 de mai. de 2024

Ver no GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (1.298 forks)batch import
bughelp wanted

Métricas do repositório

Stars
 (13.832 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

It's a bit of an edge case, but for example:

math.config({number: 'BigNumber'})
math.add('2', '3')
// results in a number with value 5, but should be a BigNumber with value 5

The reason is that functions like add do not have a signature like add(string, string). Therefore, automatic conversion kicks in. The automatic conversion finds a conversion from string -> number that fits the bill and uses that, without reconing with the configured config.number. I'm not sure how a proper solution to fix this would look like, since the type conversions are static 🤔.

Guia do colaborador