- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
",t};e.buildCustomizationMenuUi=t;function n(e){let t='
",t}function s(e){let n=e.filter.currentValue||e.filter.defaultValue,t='${e.filter.label}
`,e.filter.options.forEach(s=>{let o=s.id===n;t+=``}),t+="${e.filter.label}
`,t+=`ID: swift-code-style/float-equality
Language: Unknown
Severity: Warning
Category: Best Practices
This rule flags instances where floating point values are tested for equality using ==
or !=
. Due to the inherent precision limitations of floating point representation, direct equality comparisons can lead to unreliable or unexpected results. Small rounding errors or differences in representation mean that two values that are conceptually equal might not match exactly when compared.
It is important to avoid direct equality tests on floating point numbers to prevent subtle bugs, especially in financial calculations, scientific computations, or any domain where precision matters. Instead, comparisons should be done using a tolerance or range check, ensuring the values are “close enough” rather than exactly equal.
class BankAccount {
func withdraw(myValue: Float) {
if myValue == 0.42 {
//something
}
if myValue != 0.42 {
//something else
}
if 0.42 == myValue {
//something
}
if 0.42 != myValue {
//something else
}
}
}
class BankAccount {
var myValue: Float
func something() {
if myValue == 0.42 {
//something
}
if myValue != 0.42 {
//something else
}
if 0.42 == myValue {
//something
}
if 0.42 != myValue {
//something else
}
}
}
class BankAccount {
var myValue: Float
func something() {
if myValue > 0.41 && myValue < 0.43 {
//something
}
}
}
class BankAccount {
func withdraw(myValue: Float) {
if myValue > 0.41 && myValue < 0.43 {
//something
}
}
}