Главный вопрос
Я использую этот BigDecimal и пытаюсь создать новый объект MathContext для передачи в метод BigDecimal divide() . Но все, что я пробовал, выдавало исключения, говорящие, что это не определено. Вот несколько примеров того, что я пробовал, но не работает:
context = new MathContext(); // ReferenceError: MathContext is not defined
context = new BigDecimal.MathContext(); // TypeError: undefined is not a function
context = new BigDecimal.prototype.MathContext(); // TypeError: undefined is not a function
a = new BigDecimal('1'); context = new a.MathContext(); // TypeError: undefined is not a function
Что я делаю не так? (Кстати, все поисковые системы, которые я пробовал, возвращают результаты для Java, а не для Javascript, несмотря на то, что мое первое ключевое слово — javascript.)
Фон
Я пытаюсь решить этот вопрос, который я задавал ранее. Я определил, что проблема в том, что BigDecimal округляет ответы не так, как мне нужно. При просмотре кода с помощью отладчика оказывается, что мне нужно передать объект MathContext в качестве второго аргумента методу divide(). Вот соответствующий фрагмент моего кода (пока не обращайте внимания на магические числа):
// v1 and v2 are both of type BigDecimal.
v1 = v1.divide(v2, new MathContext(0, 0, false, 4));
Любой другой способ решения моей проблемы был бы приемлем, но я все же хочу понять, почему я не могу просто сделать new MathContext().