R provides the sprintf() function that provides string formatting as the same C language. Specifically, the sprintf() method is a wrapper for the C library method of the same name.

**sprintf in R**

The sprintf() is a built-in R function that returns a character vector containing the formatted combination of text and variable values. It accepts **format **and **input ****data **as arguments and returns the character vector of length that of the input.

**Syntax**

`sprintf(fmt, …)`

**Parameters**

**fmt: **It is a character vector of format strings, each of up to 8192 bytes.

**…: **Those are the values to be passed into **fmt**. Only logical, integer, real, and character vectors are supported, but some **coercion** will be done.

**Return Value**

The **sprintf()** method returns the character vector of length that of the longest input.

**Example**

To format the decimal places in R, use the **sprintf()** function.

Let’s assign a floating-point number to the R variable.

```
data <- 19.211
sprintf("%f", data)
```

**Output**

`[1] "19.211100"`

Here you can see that the default number of decimal places is printed six digits after the decimal point.

To control the decimal places in R, add the point and a number between the percentage sign and the f to the **sprintf()** function.

```
data <- 19.211
sprintf("%.8f", data)
```

**Output**

`[1] "19.21100000"`

As you can see that **%.8f** means 8 decimal places after the point. If you pass the **%.10f, **then it will go up to **10** decimal places after the point.

We can also round our numeric input value to only two digits after the decimal point.

```
data <- 19.211
sprintf("%.2f", data)
```

**Output**

`[1] "19.21"`

**How to print Non-Numeric Values with sprintf() in R**

To print the Non-Numeric Values in R, use the **sprintf()** method. You can also combine numeric values with non-numeric inputs.

```
data <- 19.211
sprintf("%+f", data)
```

**Output**

`[1] "+19.211000"`

**Control Scientific Notation using sprintf() function**

To control exponential notation in R, use the **sprintf()** function.

```
data <- 19.211
sprintf("%e", data)
```

You can return the upper case E to the RStudio console.

```
data <- 19.211
sprintf("%E", data)
```

**Output**

`[1] "1.921100E+01"`

**Format Places Before Decimal Point**

The **sprintf()** enables the formatting of the number of digits before the decimal separator. To print all digits before the decimal point, use the **sprintf() **function.

```
data <- 19.211
sprintf("%1.0f", data)
```

**Output**

`[1] "19"`

As you can see that you need to print a certain amount of leading blanks before our number without decimal places.

That is it for this tutorial.

Krunal Lathiya is a Software Engineer with over eight years of experience. He has developed a strong foundation in computer science principles and a passion for problem-solving. In addition, Krunal has excellent knowledge of Data Science and Machine Learning, and he is an expert in R Language.