Основной вопрос
Я использую этот 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()
.