Table of Contents
Use format string
grammar
Example
Output
Use setprecision method
Use round() method
in conclusion
Home Backend Development C++ C++ program to round a number to n decimal places

C++ program to round a number to n decimal places

Sep 12, 2023 pm 05:13 PM
number rounding Decimal places

C++ program to round a number to n decimal places

Representing numbers as output is an interesting and important task when writing a program in any language. For integer types (data of type short, long, or medium), it is easy to represent numbers as output. For floating point numbers (float or double type), sometimes we need to round them to a specific number of decimal places. For example, if we want to represent 52.24568 as three decimal places, some preprocessing is required. In this article, we will introduce several techniques to represent floating point numbers to a specific number of decimal places by rounding.

Among the different methods, it is important to use a C-like format string, use the precision parameter, and use the round() function in the math library. Let’s look at them one by one. With correct syntax and code examples.

Use format string

In C language, we use the printf() function to represent formatted printing. To use the printf() function to display some data, you need to specify the format string in advance. The same printf() function also works in C. To represent a number with a specific number of decimal places, the formatting syntax would be as follows

grammar

The syntax of the printf statement.

printf ( “%.<number of decimal place>f”, <floating point number> );
Copy after login

For example, if we want to display a floating point variable NUM, retaining 4 decimal places, the statement will be like this -

printf ( “%.4f”, NUM );
Copy after login
The Chinese translation of

Example

is:

Example

#include <iostream>
using namespace std;
void solve( float number) {
   printf ( "%.3f", number );
}
int main(){
   cout << "Number 45.278586 up to 3 decimal places: ";
   solve( 45.278586 );
}
Copy after login

Output

Number 45.278586 up to 3 decimal places: 45.279
Copy after login

In this example, we can see that the given number has 6 decimal places. But we only display to 3 decimal places. And automatically converted to the nearest value when rounded. However, there is a drawback to this process. We cannot dynamically change the decimal place value at any time. To overcome this problem, we can take another approach using the C-based setprecision() method.

Use setprecision method

C There is a special formatting function called setprecision(), which is used to set the precision value to up to n decimal places. To use this method, we need to import the iomanip library. It is also necessary to specify that we use a fixed number of decimal places. The syntax is as follows:

grammar

Define set precision() method

include <iomanip>
std::cout << std::fixed;
std::cout << std::setprecision( <number of decimal places> );
std::cout << The_floating_point_number;
Copy after login

For example, if we want to display a floating point variable NUM, retaining 4 decimal places, the statement will be like this -

include <iomanip>
std::cout << std::fixed;
std::cout << std::setprecision( 4 );
std::cout << NUM;
Copy after login
The Chinese translation of

Example

is:

Example

#include <iostream>
#include <iomanip>

using namespace std;
void solve( float number, int place) {
   cout << fixed;
   cout << setprecision( place );
   cout << number << endl;
}
int main(){
   cout << "Number 45.278586 up to 3 decimal places: ";
   solve( 45.278586, 3);
   cout << "Number 45.278586 up to 4 decimal places: ";
   solve( 45.278586, 4);
   cout << "Number 45.278586 up to 5 decimal places: ";
   solve( 45.278586, 5);
}
Copy after login

Output

Number 45.278586 up to 3 decimal places: 45.279
Number 45.278586 up to 4 decimal places: 45.2786
Number 45.278586 up to 5 decimal places: 45.27859
Copy after login

This is an ideal way to represent n digits after the decimal point. Sometimes when n = 0, we can use another method to round. This will convert the number to an integer. The specific method is as follows −

Use round() method

The "cmath" library has a round() method to convert a number to its nearest integer. So this is converting a floating point number to 0 decimal places. The syntax is as follows.

grammar

Use round() method

include <cmath>
float res = round ( <floating point number> );
Copy after login

For example, if we wanted to round the number 45.254 to the nearest integer, the statement would look like this.

include <cmath>
float res = round ( 45.254 );
std::cout << res;
Copy after login
The Chinese translation of

Example

is:

Example

#include <iostream>
#include <cmath>

using namespace std;
void solve( float number) {
   float res;
   res = round ( number );
   cout << res << endl;
}
int main(){
   cout << "Number 45.278586 to its nearest integer: ";
   solve( 45.278586 );
   cout << "Number 89.7854 to its nearest integer: ";
   solve( 89.7854 );
   cout << "Number -45.69 to its nearest integer: ";
   solve( -45.69 );
}
Copy after login

Output

Number 45.278586 to its nearest integer: 45
Number 89.7854 to its nearest integer: 90
Number -45.69 to its nearest integer: -46
Copy after login

In this example, it is obvious that the appropriate and simple way to convert a floating point number to the nearest integer is to use the round() function. This function takes a number as argument and returns the integer equivalent. In our example, we have a negative number -45.69, and after rounding it, it becomes -46, which is smaller than the original number. So the round() method is not like floor() or ceil().

in conclusion

When we write code in C, there are few ways to represent floating point numbers with up to n decimal places. The most basic way is to use the printf() method and a format string. However, with this method, the format string decimal places cannot be changed dynamically. To handle this problem, the C iomanip library has the set precision() method, which gets the number of decimal places to which a floating point number should be rounded. Sometimes we need to round a floating point number to the nearest integer (0 decimal places), in this case we can use the round() method from the cmath library in C.

The above is the detailed content of C++ program to round a number to n decimal places. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

iOS 17: How to change iPhone clock style in standby mode iOS 17: How to change iPhone clock style in standby mode Sep 10, 2023 pm 09:21 PM

Standby is a lock screen mode that activates when the iPhone is plugged into the charger and oriented in horizontal (or landscape) orientation. It consists of three different screens, one of which is displayed full screen time. Read on to learn how to change the style of your clock. StandBy's third screen displays times and dates in various themes that you can swipe vertically. Some themes also display additional information, such as temperature or next alarm. If you hold down any clock, you can switch between different themes, including Digital, Analog, World, Solar, and Floating. Float displays the time in large bubble numbers in customizable colors, Solar has a more standard font with a sun flare design in different colors, and World displays the world by highlighting

How to round a number using Math.round() method in Java? How to round a number using Math.round() method in Java? Nov 18, 2023 pm 01:11 PM

How to round a number using Math.round() method in Java? Overview: The Math class in Java provides a series of convenient mathematical calculation methods, including a method called round(), which is used to round floating-point numbers. This article explains how to correctly use the Math.round() method to round numbers and provides corresponding code examples. Specific steps: Import the Math class: At the beginning of the code, you need to import java.la

Generate random numbers and strings in JavaScript Generate random numbers and strings in JavaScript Sep 02, 2023 am 08:57 AM

The ability to generate random numbers or alphanumeric strings comes in handy in many situations. You can use it to spawn enemies or food at different locations in the game. You can also use it to suggest random passwords to users or create filenames to save files. I wrote a tutorial on how to generate random alphanumeric strings in PHP. I said at the beginning of this post that few events are truly random, and the same applies to random number or string generation. In this tutorial, I'll show you how to generate a pseudo-random alphanumeric string in JavaScript. Generating Random Numbers in JavaScript Let’s start by generating random numbers. The first method that comes to mind is Math.random(), which returns a float

PHP floating point number rounding method PHP floating point number rounding method Mar 21, 2024 am 09:21 AM

This article will explain in detail the PHP floating point number rounding method. The editor thinks it is very practical, so I share it with you as a reference. I hope you can gain something after reading this article. PHP Floating Point Rounding Overview Floating point numbers are represented in computers as a decimal point followed by an exponent, however, they are often stored in approximations with a limited number of digits. When you need to round a floating point number to a specific precision, there are several ways to do it. Method 1. round() function The round() function rounds a floating point number to the nearest integer. It accepts floating point numbers and optional precision parameters. For example: $num=1.55;echoround($num);//Output: 2echoround($num,1)

C++ program to round a number to n decimal places C++ program to round a number to n decimal places Sep 12, 2023 pm 05:13 PM

Representing numbers as output is an interesting and important task when writing a program in any language. For integer types (data of type short, long, or medium), it is easy to represent numbers as output. For floating point numbers (float or double type), sometimes we need to round them to a specific number of decimal places. For example, if we want to represent 52.24568 as three decimal places, some preprocessing is required. In this article, we will introduce several techniques to represent floating point numbers to a specific number of decimal places by rounding. Among the different approaches, it is important to use a C-like format string, use the precision argument, and use the round() function from the math library. Let’s look at them one by one. with

Use C++ to write code to find the Nth non-square number Use C++ to write code to find the Nth non-square number Aug 30, 2023 pm 10:41 PM

We all know numbers that are not the square of any number, such as 2, 3, 5, 7, 8, etc. There are N non-square numbers, and it is impossible to know every number. So, in this article, we will explain everything about squareless or non-square numbers and ways to find the Nth non-square number in C++. Nth non-square number If a number is the square of an integer, then the number is called a perfect square. Some examples of perfect square numbers are -1issquareof14issquareof29issquareof316issquareof425issquareof5 If a number is not the square of any integer, then the number is called non-square. For example, the first 15 non-square numbers are -2,3,5,6,

Numbers in Java (with 0 prefix and strings) Numbers in Java (with 0 prefix and strings) Aug 29, 2023 pm 01:45 PM

Numbers in Java It is important to understand that the number class is not a tangible class but an abstract class. Inside it, we have a set of wrapper classes that define its functionality. These wrapper classes include Integer, Byte, Double, Short, Float, and Long. You may notice that these are the same basic data types we discussed earlier, but they are represented as separate classes with uppercase names to conform to the class naming convention. The compiler automatically converts primitive data types to objects and vice versa as required for a particular function or program scope, and numeric classes are part of the java.lang package. This process is called autoboxing and unboxing. By grasping the abstract nature of numeric classes and their corresponding wrapper classes, we can

Find numbers that are not divisible by any number in a range, using C++ Find numbers that are not divisible by any number in a range, using C++ Sep 13, 2023 pm 09:21 PM

In this article, we will discuss the problem of finding numbers between 1 and n (given) that are not divisible by any number between 2 and 10. Let us understand this with some examples - Input:num=14Output:3Explanation:Therearethreenumbers,1,11,and13,whicharenotdivisible.Input:num=21Output:5Explanation:Therearefivenumbers1,11,13,17,and19,whicharenotdivisible. Solved Simple method if

See all articles