# Split a double by dot to two numbers

### Tags:

#### swift-playground

So I am trying to split a number in swift, I have tried searching for this on the internet but have had no success. So first I will start with a number like:

``````var number = 34.55
``````

And from this number, I want to create two separate number by splitting from the dot. So the output should be something like:

``````var firstHalf = 34
var secondHalf = 55
``````

Or the output can also be in an array of thats easier. How can I achieve this?

824

#### Sachin

How do you truncate a double to two decimal places?

DecimalFormat("#. ##") - Here, I entered two hash symbols(##) after the decimal point. Hence, this will truncate the number up to two decimal places. This will work for both Positive & Negative values.

How do you split a float number?

Using the modulo ( % ) operator If a number is divided by 1, the remainder will be the fractional part. So, using the modulo operator will give the fractional part of a float.

How do you round double to 2 decimals in Swift?

By using round(_:) , ceil(_:) , and floor(_:) you can round Double and Float values to any number of decimal places in Swift.

The easiest way would be to first cast the double to a string:

``````var d = 34.55
var b = "\(d)" // or String(d)
``````

then split the string with the global `split` function:

``````var c = split(b) { \$0 == "." }   // [34, 55]
``````

You can also bake this functionality into a double:

``````extension Double {
func splitAtDecimal() -> [Int] {
return (split("\(self)") { \$0 == "." }).map({
return String(\$0).toInt()!
})
}
}
``````

This would allow you to do the following:

``````var number = 34.55
print(number.splitAtDecimal())   // [34, 55]
``````
174

## Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!