2020-02-19a minute read (About 138 words)How to compare for nearly equal in SwiftIssue #607 Implement Equatable and Comparable and use round 123456789101112131415161718192021222324252627282930313233343536struct RGBA: Equatable, Comparable { let red: CGFloat let green: CGFloat let blue: CGFloat let alpha: CGFloat init(_ red: CGFloat, _ green: CGFloat, _ blue: CGFloat, _ alpha: CGFloat) { self.red = red self.green = green self.blue = blue self.alpha = alpha } static func round(_ value: CGFloat) -> CGFloat { (value * 100).rounded() / 100 } static func == (left: RGBA, right: RGBA) -> Bool { let r = Self.round return r(left.red) == r(right.red) && r(left.green) == r(right.green) && r(left.blue) == r(right.blue) && r(left.alpha) == r(right.alpha) } static func < (left: RGBA, right: RGBA) -> Bool { let r = Self.round return r(left.red) < r(right.red) && r(left.green) < r(right.green) && r(left.blue) < r(right.blue) && r(left.alpha) <= r(right.alpha) }}XCTAssertGreaterThan(backgroundRgba, RGBA(0.57, 0.12, 0.88, 1.0)XCTAssertLessThanThan(backgroundRgba, RGBA(0.57, 0.12, 0.88, 1.0)#swift