Sobes.tech
Junior — Middle

Double və Decimal nömrə saxlama formatları arasında dəqiqlik və istifadə baxımından hansı fərqlər var?

sobes.tech Süni İntellekt

AI-dan cavab

Double və Decimal, onluq nöqtəli ədədlərin saxlanması üçün istifadə olunan iki fərqli formattır və dəqiqlik və tətbiq sahəsinə görə fərqlənir.

  • Double IEEE 754 standartına əsaslanan ikiqat dəqiqlikli (64-bit) onluq nöqtə tipidir. O, ədədləri ikili formatda saxlayır, bu da onluq kəsrlərlə işləyərkən yuvarlama səhvlərinə səbəb ola bilər. Double elmi hesablamalar, qrafika üçün uyğundur, burada sürət və geniş diapazon vacibdir, amma mütləq dəqiqlik deyil.

  • Decimal isə sabit dəqiqlikli onluq nöqtə tipidir və ədədləri onluq formatda saxlayır. Yüksək dəqiqlik və onluq kəsrlərin dəqiq təqdimatı təmin edir, bu da maliyyə və mühasibatlıq tətbiqləri üçün vacibdir, çünki yuvarlama səhvləri qəbul edilmir.

Nümunə:

let doubleValue: Double = 0.1 + 0.2
print(doubleValue) // 0.30000000000000004 göstərə bilər

import Foundation
let decimalValue1 = Decimal(string: "0.1")!
let decimalValue2 = Decimal(string: "0.2")!
let decimalSum = decimalValue1 + decimalValue2
print(decimalSum) // Dəqiq olaraq 0.3 göstərəcək

Qısaca, Double performans və geniş diapazon üçün, Decimal isə dəqiq maliyyə hesablamaları üçün seçin.