Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Swift Program to Round a Number to n Decimal Places
This tutorial will discuss how to write a Swift program to round a number to n decimal places.
Rounding a number means round a decimal number to a certain number of decimal places or we can say round to the nearest wholes, tenths, hundredths, or thousandth. It save time and helps to express long term into short term. Rounding is only applicable on Float and Double data types. When you round a number always remember the following points ?
If the last digit is less than 5(that is 0, 1, 2, 3, 4) then round the previous digit down. For example, 52.12 rounded to the nearest tenth place that is 52.1 because 1 is followed by 2 and 2 is less than 5.
If the last digit is greater than 5(that is 5, 6, 7, 8, 8) then round the previous digit up. For example, 52.18 rounded to the nearest tenth place that is 52.2 because 1 is followed by 9 and 9 is greater than 5.
Below is a demonstration of the same ?
Input
Suppose our given input is ?
Entered number - 456.3478
Output
The desired output would be ?
Rounded number(hundredth place)- 456.35
In Swift we can round a number using any of the following methods ?
Method 1 - Using Round Function
Swift provide a built-in function named as round() function. This function is used to round the given number to the nearest whole number. It accept both Float and Double.
Syntax
Following is the syntax ?
func round(number)
Example 1
The following program shows how to round a number to n decimal places using round() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">6.98</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">876.876</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">0.987</span> <span class="token comment">// Floating point number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n1<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Positive double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n2<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Negative double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n3<span class="token punctuation">)</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 6.98: 7.0 Round number 876.876: 877.0 Round number -0.987: -1.0
Example 2
The following program shows how to round a number to n decimal places using round() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">34.459</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">7.89098</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">3.96396238638</span> <span class="token comment">// Round Floating point number to one(tenths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n1 <span class="token operator">*</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">10.0</span><span class="token punctuation">)</span> <span class="token comment">// Round positive double number to two(hundredths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n2 <span class="token operator">*</span> <span class="token number">100</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">100.0</span><span class="token punctuation">)</span> <span class="token comment">// Round negative double number to three(thousandths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">round</span><span class="token punctuation">(</span>n3 <span class="token operator">*</span> <span class="token number">1000</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">1000.0</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 34.459: 34.5 Round number 7.89098: 7.89 Round number -3.96396238638: -3.964
Method 2 - Using Ceil Function
Swift provide a built-in function named as ceil() function. This function is used to round the given number to the nearest smallest integer value which is greater than or equal to the given number. It accept also both Float and Double.
Syntax
Following is the syntax ?
func ceil(num)
Example 1
The following program shows how to round a nu mber to n decimal places using ceil() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">2.45</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">42.93</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">2.03</span> <span class="token comment">// Floating point number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n1<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Positive double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n2<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Negative double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n3<span class="token punctuation">)</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 2.45: 3.0 Round number 42.93: 43.0 Round number 2.03: 2.0
Example 2
The following program shows how to round a number to n decimal places using ceil() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">2.45</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">198.890</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">2.0808777</span> <span class="token comment">// Round Floating point number to one(tenths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n1 <span class="token operator">*</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">10.0</span><span class="token punctuation">)</span> <span class="token comment">// Round positive double number to two(hundredths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n2 <span class="token operator">*</span> <span class="token number">100</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">100.0</span><span class="token punctuation">)</span> <span class="token comment">// Round negative double number to three(thousandths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">ceil</span><span class="token punctuation">(</span>n3 <span class="token operator">*</span> <span class="token number">1000</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">1000.0</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 2.45: 2.5 Round number 198.89: 198.89 Round number -2.0808777: -2.08
Method 3 - Using Floor Function
Swift provide a built-in function named as floor() function. This function is used to round the given number to the nearest largest integer value which is less than or equal to the given number. It accept also both Float and Double.
Syntax
Following is the syntax
func floor(num)
Example 1
The following program shows how to round a number to n decimal places using floor() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">23.45</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">4.89</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">7.09</span> <span class="token comment">// Floating point number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n1<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Positive double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n2<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token comment">// Negative double number</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n3<span class="token punctuation">)</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 23.45: 23.0 Round number 4.89: 4.0 Round number -7.09: -8.0
Example 2
The following program shows how to round a number to n decimal places using floor() function.
<div class="execute"></div><div class="code-mirror language-javascript" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token keyword">import</span> Swift <span class="token keyword">import</span> Foundation <span class="token keyword">var</span> n1 <span class="token operator">:</span> Float <span class="token operator">=</span> <span class="token number">256.45</span> <span class="token keyword">var</span> n2 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token number">98.89324</span> <span class="token keyword">var</span> n3 <span class="token operator">:</span> Double <span class="token operator">=</span> <span class="token operator">-</span><span class="token number">5.0808777</span> <span class="token comment">// Round Floating point number to one(tenths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n1):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n1 <span class="token operator">*</span> <span class="token number">10</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">10</span><span class="token punctuation">)</span> <span class="token comment">// Round positive double number to two(hundredths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n2):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n2 <span class="token operator">*</span> <span class="token number">100</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">100</span><span class="token punctuation">)</span> <span class="token comment">// Round negative double number to three(thousandths) decimal place</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token string">"Round number \(n3):"</span><span class="token punctuation">,</span> <span class="token function">floor</span><span class="token punctuation">(</span>n3 <span class="token operator">*</span> <span class="token number">1000</span><span class="token punctuation">)</span><span class="token operator">/</span><span class="token number">1000</span><span class="token punctuation">)</span> </div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>
Output
Round number 256.45: 256.4 Round number 98.89324: 98.89 Round number -5.0808777: -5.081
