es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo establecer la precisión de una variable de tipo float en c++?

Imprimirá 88.89 en la consola porque, 88.888 con una precisión de redondeo de centésimas es igual a 88.89.

¿Cómo puedo hacer que “b” sea igual al valor de “a” redondeado al lugar de las centésimas (por ejemplo, 88.89)?

¿Cómo puedo hacerlo para que sea así, | float b = “a” redondeado al lugar más cercano de las centésimas, etc.?

Básicamente, ¿cómo puedo hacer que un flotante sea igual a otro flotante, pero con una precisión menor?

EJEMPLO:

a = 88.888
b = 88.89
c = 88.9

No quiero que se imprima en la consola, solo quiero que estos valores redondeados se asignen a una variable porque necesito un número redondeado en mi programa, y todos los demás números tienen 2 decimales más. Esto desequilibraría el programa si tuviera más de las centésimas (software bancario, no tenemos una denominación más allá de los centavos. Básicamente solo necesitamos las centésimas).

“`c++
#include<iostream>
#include<iomanip>

using namespace std;

int main(){

<pre><code>float a = 88.888;

cout << fixed << setprecision(2) << a << endl;

float b;

return 0;
</code></pre>

}
“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para hacer que “b” sea igual al valor de “a” redondeado a la centésima, puedes utilizar la función round() de la biblioteca math en C++. Aquí tienes un ejemplo de código:

    “`c++
    #include
    #include
    #include
    using namespace std;

    int main(){

    float a = 88.888;
    
    cout << fixed << setprecision(2) << a << endl; // imprime 88.89
    
    float b = round(a * 100) / 100; // redondea a la centésima más cercana
    
    cout << fixed << setprecision(2) << b << endl; // imprime 88.89
    
    float c = round(a * 10) / 10; // redondea a la décima más cercana
    
    cout << fixed << setprecision(2) << c << endl; // imprime 88.90
    
    return 0;
    

    }
    “`

    En este código, “b” se establece igual al valor de “a” redondeado a la centésima más cercana multiplicando “a” por 100, redondeándolo al entero más cercano utilizando la función round() y luego dividiendo por 100. El mismo enfoque se utiliza para redondear “a” a la décima más cercana y almacenarlo en “c”. Las funciones fixed y setprecision() se utilizan para formatear la salida con dos decimales.

    Este enfoque debería funcionar para redondear a cualquier lugar decimal ajustando los factores de multiplicación y división utilizados en la expresión round().

Comments are closed.