Open In App

Format Number of Decimal Places in R

Last Updated : 23 May, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article we are going to discuss how to format numbers up to n decimal places in the R programming language. In R language, the decimal number is represented by . symbol

Method 1: Format() function

Format() function can be used to format decimal values by rounding them and displaying only a specific number of elements after decimal.

Syntax:

format(round(value, n), nsmall = n)

Parameters:

It can take two parameters.

  • round(value,n) function : which will specify the number of decimal places to be selected. It will take input number along with integer value that select decimal places of the given number
  • nsmall function : which will specify the number of decimal places to be selected.It will take input number along with integer value that select decimal places of the given number

Result:

Formatted Decimal number.

Example:

R




# define an variable and initialize
# to decimal number
a=12.4556785
  
# display decimal places upto 3
print(format(round(a, 3), nsmall = 3))
  
# display decimal places upto 4
print(format(round(a, 4), nsmall = 4))
   
# display decimal places upto 0
print(format(round(a, 0), nsmall = 0))
  
# display decimal places upto 1
print(format(round(a, 1), nsmall = 1))


Output:

Example 2:

R




# define a vector with decimal
# elements 
a=c(12.4556785,1.345,6.789,7.890)
  
# display decimal places upto 3
for (i in a){
print(format(round(i, 3), nsmall = 3))
}


Output:

Method 2: Using sprintf() function

Using sprintf() function, we can specify the format of the decimal places along with the variable

Syntax: sprintf(variable, fmt = ‘%.nf’)

Parameters:

  • variable – input decimal value
  • fmt stands for format which will take parameter “.%nf” where n specifies number of decimal places to be selected.

Result:

formatted decimal number

Example 1:

R




# decimal number
a=14.6788
   
# format upto 4 places
print( sprintf(a, fmt = '%.4f')  )
  
# format upto 8 places
print( sprintf(a, fmt = '%.8f')  )
  
# format upto 1 place
print( sprintf(a, fmt = '%.1f')  )
  
# format upto 0 places
print( sprintf(a, fmt = '%.0f')  )


Output:

Example 2:

R




# define a vector with decimal elements 
a=c(12.4556785,1.345,6.789,7.89089)
  
# display decimal places upto 4
for (i in a){
print( sprintf(i, fmt = '%.4f')  )
}
print("---------------------")
  
# display decimal places upto 1
for (i in a){
print( sprintf(i, fmt = '%.1f')  )
}
print("---------------------")
  
# display decimal places upto 2
for (i in a){
print( sprintf(i, fmt = '%.2f')  )
}
print("---------------------")
  
# display decimal places upto 0
for (i in a){
print( sprintf(i, fmt = '%.0f')  )
}


Output:

Method 3: Using options() function

This function is used to return the digits after the decimal.

Syntax:

options(digits = n)  

Where digits is the number of digits to be returned along with number before decimal point.

Example:

a=1.24325454666

options(digits=4)

It will return 1.243

Example 1:

R




# decimal number
a=14.67885350938953809580
  
# format upto 4 places
options(digits=4)  
print(a)
  
# format upto 8 places
options(digits=8)  
print(a)
  
# format upto 3 place
options(digits=3)  
print(a)


Output:

Example 2:

R




# define a vector with decimal elements 
a=c(12.4556785,1.345,6.789,7.89089)
  
# display decimal places upto 4
options(digits=4)
for (i in a){
print( i  )
}
print("---------------------")
  
# display decimal places upto 6
options(digits=6)
for (i in a){
print( i  )
}
print("---------------------")
  
# display decimal places upto 2
options(digits=2)
for (i in a){
print( i  )
}


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads