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:
# 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:
# 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:
# 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:
# 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:
# 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:
# 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: