Dado un número positivo n (n > 1), redondea este número a un número dado. de dígitos significativos, d.
Ejemplos:
Input : n = 139.59 d = 4 Output : The number after rounding-off is 139.6 . The number 139.59 has 5 significant figures and for rounding-off the number to 4 significant figures, 139.59 is converted to 139.6 . Input : n = 1240 d = 2 Output : The number after rounding-off is 1200 .
¿Qué son las cifras significativas?
Cada uno de los dígitos de un número que se utilizan para expresarlo con el grado de precisión requerido, a partir del primer dígito distinto de cero, se denominan cifras significativas.
Dado que hay números con una gran cantidad de dígitos, por ejemplo, = 3,142857143, para limitar dichos números a una cantidad manejable de dígitos, eliminamos los dígitos no deseados y este proceso se llama redondeo .
Los dígitos significativos incluyen todos los dígitos de un número que se encuentran en una de las siguientes categorías:
- Todos los dígitos distintos de cero.
- Cero dígitos que-
- se encuentran entre dígitos significativos.
- se encuentran a la derecha del punto decimal y al mismo tiempo a la derecha de un dígito distinto de cero.
- están específicamente indicados como significativos.
La siguiente tabla muestra números y no. de dígitos significativos presentes en ellos –
Reglas para redondear un número
Para redondear un número a n cifras significativas-
- Deseche todos los dígitos a la derecha del n -ésimo dígito significativo.
- Si este número descartado es-
- menos de la mitad de una unidad en el lugar n, deje el dígito n sin cambios .
- mayor que la mitad de una unidad en el lugar n, aumente el dígito n en la unidad .
- exactamente la mitad de una unidad en el n -ésimo lugar, aumente el n -ésimo dígito en la unidad si es impar, de lo contrario déjelo sin cambios.
La siguiente tabla muestra el redondeo de un número a un número dado. de dígitos significativos –
C++
// C++ program to round-off a number to given no. of // significant digits #include <bits/stdc++.h> using namespace std; // Function to round - off the number void Round_off(double N, double n) { int h; double l, a, b, c, d, e, i, j, m, f, g; b = N; c = floor(N); // Counting the no. of digits to the left of decimal point // in the given no. for (i = 0; b >= 1; ++i) b = b / 10; d = n - i; b = N; b = b * pow(10, d); e = b + 0.5; if ((float)e == (float)ceil(b)) { f = (ceil(b)); h = f - 2; if (h % 2 != 0) { e = e - 1; } } j = floor(e); m = pow(10, d); j = j / m; cout << "The number after rounding-off is " << j; } // Driver main function int main() { double N, n; // Number to be rounded - off N = 139.59; // No. of Significant digits required in the no. n = 4; Round_off(N, n); return 0; }
Java
// Java program to round-off a number to given no. of // significant digits import java.io.*; import static java.lang.Math.*; public class A { // Function to round - off the number static void Round_off(double N, double n) { int h; double l, a, b, c, d, e, i, j, m, f, g; b = N; c = floor(N); // Counting the no. of digits to the left of decimal point // in the given no. for (i = 0; b >= 1; ++i) b = b / 10; d = n - i; b = N; b = b * pow(10, d); e = b + 0.5; if ((float)e == (float)ceil(b)) { f = (ceil(b)); h = (int)(f - 2); if (h % 2 != 0) { e = e - 1; } } j = floor(e); m = pow(10, d); j = j / m; System.out.println("The number after rounding-off is " + j); } // Driver main function public static void main(String args[]) { double N, n; // Number to be rounded - off N = 139.59; // No. of Significant digits required in the no. n = 4; Round_off(N, n); } }
Python3
# Python 3 program to round-off a number # to given no. of significant digits from math import ceil, floor, pow # Function to round - off the number def Round_off(N, n): b = N c = floor(N) # Counting the no. of digits # to the left of decimal point # in the given no. i = 0; while(b >= 1): b = b / 10 i = i + 1 d = n - i b = N b = b * pow(10, d) e = b + 0.5 if (float(e) == float(ceil(b))): f = (ceil(b)) h = f - 2 if (h % 2 != 0): e = e - 1 j = floor(e) m = pow(10, d) j = j / m print("The number after rounding-off is", j) # Driver Code if __name__ == '__main__': # Number to be rounded - off N = 139.59 # No. of Significant digits # required in the no. n = 4 Round_off(N, n) # This code is contributed by # Surendra_Gangwar
C#
// C# program to round-off a number // to given no. of significant digits using System; class A { // Function to round - off the number static void Round_off(double N, double n) { int h; double b, d, e, i, j, m, f; b = N; // c = Math.Floor(N); // Counting the no. of digits to the // left of decimal point in the given no. for (i = 0; b >= 1; ++i) b = b / 10; d = n - i; b = N; b = b * Math.Pow(10, d); e = b + 0.5; if ((float)e == (float)Math.Ceiling(b)) { f = (Math.Ceiling(b)); h = (int)(f - 2); if (h % 2 != 0) { e = e - 1; } } j = Math.Floor(e); m = Math.Pow(10, d); j = j / m; Console.WriteLine("The number after " + "rounding-off is " + j); } // Driver main function public static void Main() { double N, n; // Number to be rounded - off N = 139.59; // No. of Significant digits required in the no. n = 4; Round_off(N, n); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to round-off // a number to given no. of // significant digits // Function to round - // off the number function Round_off($N, $n) { $h; $l; $a; $b; $c; $d; $e; $i; $j; $m; $f; $g; $b = $N; $c = floor($N); // Counting the no. of digits // to the left of decimal point // in the given no. for ($i = 0; $b >= 1; ++$i) $b = $b / 10; $d = $n - $i; $b = $N; $b = $b * pow(10, $d); $e = $b + 0.5; if ($e == ceil($b)) { $f = (ceil($b)); $h = $f - 2; if ($h % 2 != 0) { $e = $e - 1; } } $j = floor($e); $m = pow(10, $d); $j = $j / $m; echo "The number after rounding-off is " ,$j; } // Driver Code $N; $n; // Number to be rounded - off $N = 139.59; // No. of Significant digits // required in the no. $n = 4; Round_off($N, $n); // This code is contributed by anuj_67 ?>
Javascript
<script> // Javascript program to round-off a number to given no. of // significant digitsimport // Function to round - off the number function Round_off(N , n) { var h; var l, a, b, c, d, e, i, j, m, f, g; b = N; c = Math.floor(N); // Counting the no. of digits to the left of decimal point // in the given no. for (i = 0; b >= 1; ++i) b = parseInt(b / 10); d = n - i; b = N; b = b * Math.pow(10, d); e = b + 0.5; if (e == Math.ceil(b)) { f = (Math.ceil(b)); h = parseInt(f - 2); if (h % 2 != 0) { e = e - 1; } } j = Math.floor(e); m = Math.pow(10, d); j = j / m; document.write("The number after rounding-off is " + j); } // Driver main function var N, n; // Number to be rounded - off N = 139.59; // No. of Significant digits required in the no. n = 4; Round_off(N, n); // This code contributed by Princi Singh </script>
Producción:
The number after rounding-off is 139.6
Este artículo es una contribución de Mrigendra Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA