Bibi's DevLog πŸ€“πŸŽ

[Swift] Int인 Double νŒλ³„ν•˜κΈ°(μ†Œμˆ˜μ μ΄ν•˜κ°€ 0인 Double νŒλ³„ν•˜κΈ°) λ³Έλ¬Έ

πŸ“±πŸŽ iOS/πŸ•Š Swift

[Swift] Int인 Double νŒλ³„ν•˜κΈ°(μ†Œμˆ˜μ μ΄ν•˜κ°€ 0인 Double νŒλ³„ν•˜κΈ°)

λΉ„λΉ„ bibi 2022. 12. 7. 12:18

6.5 처럼 μ†Œμˆ˜μ μ΄ μ‘΄μž¬ν•˜λŠ” Double μžλ£Œν˜•μ˜ 값에 λŒ€ν•΄, μ†Œμˆ˜μ  μ΄ν•˜κ°€ 0인지 μ•„λ‹Œμ§€ νŒλ³„ν•˜κ³  싢을 λ•Œ 방법을 μ°Ύμ•„λ³΄μ•˜λ‹€.

  • 6.5 : μ†Œμˆ˜μ  μ΄ν•˜κ°€ 0이 μ•„λ‹˜ (false)
  • 6.0 : μ†Œμˆ˜μ  μ΄ν•˜κ°€ 0μž„ (true

Checking if a double value is an integer - Swift

μœ„ 링크λ₯Ό μ°Έκ³ ν•˜λ©΄ μ•Œμˆ˜ μžˆλ“― μ—¬λŸ¬ 방법이 μžˆμ§€λ§Œ..

μ΅œλŒ€ν•œ λΆ€μž‘μš©μ΄ μ—†μ–΄ λ³΄μ΄λŠ” λ°©λ²•μœΌλ‘œ μ‚¬μš©ν•΄ λ΄€λ‹€.

Dobule이 Double β†’ Int β†’ Double 둜 ν˜•λ³€ν™˜ν•œ κ°’κ³Ό 같은지 확인

I suggest converting the value to Int then to Double and checking the new value

if value == Double(Int(value)) {
// The value doesn't have decimal part. ex: 6.0

} else {
//  The value has decimal part. ex: 6.3

}

Double값을 Int둜, κ·Έ 값을 λ‹€μ‹œ Double둜 ν˜•λ³€ν™˜ν•œ κ°’κ³Ό μ›λž˜ 값이 같은지 ν™•μΈν•œλ‹€.

예λ₯Ό λ“€μ–΄..

  • μ›λž˜ 값이 6.0이라면
    • Int둜 ν˜•λ³€ν™˜ν•˜λ©΄ 6
    • λ‹€μ‹œ Double둜 ν˜•λ³€ν™˜ν•˜λ©΄ 6.0
    • μ›λž˜ κ°’κ³Ό λΉ„κ΅ν–ˆμ„ λ•Œ κ°™μœΌλ―€λ‘œ true이닀
  • μ›λž˜ 값이 6.5라면
    • Int둜 ν˜•λ³€ν™˜ν•˜λ©΄ 6
    • λ‹€μ‹œ Double둜 ν˜•λ³€ν™˜ν•˜λ©΄ 6.0
    • μ›λž˜ κ°’κ³Ό λΉ„κ΅ν–ˆμ„ λ•Œ λ‹€λ₯΄λ―€λ‘œ false이닀