Câu chuyện:"Hầu như Equal" trong Jasmine
Trong Python được xây dựng-in unittest
khuôn khổ, có một sự khẳng định "xấp xỉ bình đẳng" thực hiện thông qua assertAlmostEqual()
phương pháp:
x = 0.1234567890
y = 0.1234567891
self.assertAlmostEqual(x, y)
nào có số số thập phân để kiểm tra cấu hình.
Và, có một numpy.testing.assert_almost_equal()
mà cũng làm việc cho các mảng phao:
import numpy.testing as npt
import numpy as np
npt.assert_almost_equal(np.array([1.0,2.3333333333333]), np.array([1.0,2.33333334]))
Các Câu hỏi:
Làm thế nào để thực hiện một "gần như bằng" sự khẳng định trong JavaScript/Jasmine cho phao nổi và mảng nổi?
Có điều gì đó thiếu sót về javascript mà thuật toán được mô tả trong tài liệu python không hoạt động? 'Kiểm tra đầu tiên và thứ hai là xấp xỉ (hoặc không xấp xỉ) bằng cách tính toán sự khác biệt, làm tròn đến số chữ số thập phân đã cho (mặc định 7) và so sánh với số không. Lưu ý rằng các phương thức này làm tròn các giá trị đến số chữ số thập phân đã cho (ví dụ như hàm round()) và không phải là chữ số có nghĩa. Nếu delta được cung cấp thay vì địa điểm thì sự khác biệt giữa đầu tiên và thứ hai phải nhỏ hơn hoặc bằng (hoặc lớn hơn) delta.' – dm03514
@ dm03514 yup, thuật toán chính nó là chính xác những gì tôi đang làm. Tìm kiếm nếu có một cái gì đó được xây dựng trong hoặc cách tốt nhất để giải quyết nó với javascipt/hoa nhài. Cảm ơn. – alecxe
Bạn có biết cách so sánh các số dấu chấm động cho "gần như" bình đẳng không? Nó khá nhiều tiêu chuẩn như thế nào nó thường được thực hiện. Lấy sự khác biệt của các con số được so sánh và kiểm tra nó là rất rất nhỏ (ít hơn một số epsilon). –