Double vs Float : Swift

Suneet Agrawal
2 min readApr 13, 2022

--

Swift has two data types (Double and Float) to hold the decimal values. Both of them hold the same decimal type values but have some differences.

This post was originally posted at https://agrawalsuneet.github.io/blogs/double-vs-float-swift/ and reposted on Medium on 13th April 2022.

The basic difference is around the size of memory they both use based on which their precision varies.

Let’s try to understand the differences between both with example.

Number of Digits

  • The Double type is used to store values in up to 17 places. It starts from the leftmost side and reduces the digits from the right side of the value if exceeding 17 places.
  • The Float type is used to store values in up to 8 places. It also starts from the leftmost side and reduces the digits from the right side of the value if exceeding 8 places.
var doubleVariable : Double = 1234567890.1234567890
var floatVariable : Float = 12345.12345
print(doubleVariable)
//this will print only 17 digits from left
//1234567890.1234567
print(floatVariable)
//this will print only 8 digits from left
//12345.123

Memory Size

  • Double takes 8 bytes of memory.
  • Float takes only 4 bytes of memory
var doubleVariable : Double = 1234567890.1234567890
var floatVariable : Float = 12345.12345
print(MemoryLayout.size(ofValue: doubleVariable))
//this will print
//8 (bytes)
print(MemoryLayout.size(ofValue: floatVariable))
//this will print
//4 (bytes)

Please continue reading at https://agrawalsuneet.github.io/blogs/double-vs-float-swift/

That’s all for now. You can read my other interesting blogs here or you can enjoy my games or apps listed here. Feel free to use my open-source Android components in your app listed here. Or drop an email, if you didn’t find what you are looking for and need some help.

--

--