Bigdecimal github javascript
Thư viện tương tự như bignumber. js, nhưng ở đây độ chính xác được chỉ định theo các chữ số có nghĩa thay vì số thập phân và tất cả các phép tính được làm tròn đến độ chính xác (tương tự như mô-đun thập phân của Python) thay vì chỉ các phép tính liên quan đến phép chia Show Thư viện này cũng bổ sung các hàm lượng giác, trong số các hàm khác và hỗ trợ các lũy thừa không nguyên, khiến nó trở thành một thư viện lớn hơn đáng kể so với bignumber. js và thậm chí nhỏ hơn lớn. js Để biết phiên bản nhẹ hơn của thư viện này không có các hàm lượng giác, hãy xem phần thập phân. ánh sáng js Trọng tảiThư viện là tệp JavaScript thập phân duy nhất. js hoặc mô-đun ES số thập phân. mjs trình duyệt <script src='path/to/decimal.js'>script> <script type="module"> import Decimal from './path/to/decimal.mjs'; ... script> Nút. js npm install decimal.js const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js'; Sử dụngTrong tất cả các ví dụ bên dưới, dấu chấm phẩy và lệnh gọi const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';2 không được hiển thị. Nếu một giá trị được nhận xét nằm trong dấu ngoặc kép, điều đó có nghĩa là _______2_______2 đã được gọi trên biểu thức trước đó Thư viện xuất một hàm tạo duy nhất, const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';4, hàm này mong đợi một đối số duy nhất là một số, chuỗi hoặc đối tượng Thập phân x = new Decimal(123.4567) y = new Decimal('123456.7e-3') z = new Decimal(x) x.equals(y) && y.equals(z) && x.equals(z) // true Nếu sử dụng các giá trị có nhiều hơn một vài chữ số, bạn nên chuyển chuỗi thay vì số để tránh khả năng mất độ chính xác // Precision loss from using numeric literals with more than 15 significant digits. new Decimal(1.0000000000000001) // '1' new Decimal(88259496234518.57) // '88259496234518.56' new Decimal(99999999999999999999) // '100000000000000000000' // Precision loss from using numeric literals outside the range of Number values. new Decimal(2e+308) // 'Infinity' new Decimal(1e-324) // '0' // Precision loss from the unexpected result of arithmetic with Number values. new Decimal(0.7 + 0.1) // '0.7999999999999999' Cũng như các số trong JavaScript, các chuỗi có thể chứa dấu gạch dưới dưới dạng dấu phân cách để cải thiện khả năng đọc ________số 8_______ Các giá trị chuỗi ở dạng ký hiệu nhị phân, thập lục phân hoặc bát phân cũng được chấp nhận nếu bao gồm tiền tố thích hợp x = new Decimal('0xff.f') // '255.9375' y = new Decimal('0b10101100') // '172' z = x.plus(y) // '427.9375' z.toBinary() // '0b110101011.1111' z.toBinary(13) // '0b1.101010111111p+8' // Using binary exponential notation to create a Decimal with the value of `Number.MAX_VALUE`. x = new Decimal('0b1.1111111111111111111111111111111111111111111111111111p+1023') // '1.7976931348623157081e+308' Các trường hợp thập phân là bất biến theo nghĩa là chúng không bị thay đổi bởi các phương thức của chúng 0.3 - 0.1 // 0.19999999999999998 x = new Decimal(0.3) x.minus(0.1) // '0.2' x // '0.3' Các phương thức trả về Số thập phân có thể được xâu chuỗi x.dividedBy(y).plus(z).times(9).floor() x.times('1.23456780123456789e+9').plus(9876.5432321).dividedBy('4444562598.111772').ceil() Nhiều tên phương thức có bí danh ngắn hơn x.squareRoot().dividedBy(y).toPower(3).equals(x.sqrt().div(y).pow(3)) // true x.comparedTo(y.modulo(z).negated() === x.cmp(y.mod(z).neg()) // true Hầu hết các phương thức của các đối tượng const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';0 và const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';1 của JavaScript đều được sao chép npm install decimal.js0 Và có các phương thức const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';7 và const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';8, vì const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';9 và x = new Decimal(123.4567) y = new Decimal('123456.7e-3') z = new Decimal(x) x.equals(y) && y.equals(z) && x.equals(z) // true0 là các giá trị const Decimal = require('decimal.js'); import Decimal from 'decimal.js'; import {Decimal} from 'decimal.js';4 hợp lệ npm install decimal.js1 Ngoài ra còn có một phương thức x = new Decimal(123.4567) y = new Decimal('123456.7e-3') z = new Decimal(x) x.equals(y) && y.equals(z) && x.equals(z) // true2 với đối số mẫu số tối đa tùy chọn npm install decimal.js2 Tất cả các phép tính được làm tròn theo số chữ số có nghĩa và chế độ làm tròn được chỉ định bởi các thuộc tính x = new Decimal(123.4567) y = new Decimal('123456.7e-3') z = new Decimal(x) x.equals(y) && y.equals(z) && x.equals(z) // true3 và x = new Decimal(123.4567) y = new Decimal('123456.7e-3') z = new Decimal(x) x.equals(y) && y.equals(z) && x.equals(z) // true4 của Hàm tạo thập phân Để sử dụng nâng cao, có thể tạo nhiều hàm tạo thập phân, mỗi hàm có cấu hình độc lập riêng áp dụng cho tất cả các số thập phân được tạo từ nó npm install decimal.js3 Giá trị của Số thập phân được lưu trữ ở định dạng dấu phẩy động theo các chữ số, số mũ và dấu của nó, nhưng các thuộc tính này phải được coi là chỉ đọc Có BigDecimal trong JavaScript không?BigDecimal cho Javascript là triển khai Javascript thuần túy của các số thập phân có dấu, có độ chính xác tùy ý, bất biến . BigDecimal hỗ trợ toán thập phân với độ chính xác tùy ý.
Làm cách nào để xác định một giá trị số trong JavaScript?Trong JavaScript, số là kiểu dữ liệu nguyên thủy. Ví dụ: const a = 3; . 13; . Bạn có thể sử dụng ký hiệu hàm mũ e để bao gồm các số quá lớn hoặc quá nhỏ
BigDecimal có hỗ trợ chữ số thập phân không?BigDecimal đại diện cho một số thập phân có dấu tùy ý, có độ chính xác bất biến . Nó bao gồm hai phần. Giá trị chưa định tỷ lệ - một số nguyên chính xác tùy ý. Tỷ lệ – một số nguyên 32 bit biểu thị số chữ số ở bên phải dấu thập phân.
BigDecimal có thể chứa bao nhiêu chữ số?Theo mặc định, số BigDecimal có độ chính xác "không giới hạn". Trên thực tế, giá trị chưa chia tỷ lệ tối đa bằng 2^Integer |