簡體   English   中英

在BigDecimal除法中使用MathContext對象

[英]Using MathContext objects in BigDecimal divide method

我正在使用Daniel TrebbienJavaScript BigDecimal庫 (特別是BigDecimal-all-last.min.js )編寫測試用例,並且在不拋出錯誤“ MathContext()Bad”的情況下,似乎無法在除法中使用MathContext對象形式價值”

由於該庫是Java的直接端口,因此我正在使用本文檔 由於“表格”(參數2)和“取整模式”(參數4)都是常量,因此我不明白為什么會出現“表格格式錯誤”錯誤。 我的Webstorm IDE看到的常量很好,所以我知道它們在那里。 將“ form”常量更改為“ ENGINEERING”或其他任何方法都無法解決該問題。

var mc = new MathContext(3, BigDecimal.PLAIN, false, BigDecimal.ROUND_HALF_EVEN);
var two = new BigDecimal("2");
var seven = new BigDecimal("7");
var twoSevenths = two.divide(seven, mc); // constructor divide(BigDecimal, MathContext)
console.log(twoSevenths.toString()); // expecting 0.286

您看到我做錯了什么嗎?

**

UPDATE

當然,還有其他划分構造函數可以使用,但是單個MathContext對象的多次重用對於Tiny JavaScript項目是理想的,因此這里是重點。

**

您的代碼中有一個小的錯字。 PLAIN常量實際上是在MathContext定義的,因此第一行應為:

var mc = new MathContext(3, MathContext.PLAIN, false, BigDecimal.ROUND_HALF_EVEN);

使用此修復程序,“ 0.286”被記錄到控制台按預期方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM