Ten en cuenta que en las ciencias informáticas un problema casi siempere suele tener diferentes soluciones, pero te compartiremos lo más óptimo y eficiente.
Solución:
Al igual que en C y C ++, dividir enteros da como resultado otro entero. Pruebe este programa de C ++ para ver:
#include
using namespace std;
int main()
cout << 22 / 7 << endl; // 3
cout << 22.0 / 7.0 << endl; // 3.14286
De manera similar, en Rust, debe especificar ambos números como flotantes en su lugar, lo que se hace colocando un decimal en cualquier lugar del número. Prueba este equivalente de Rust del programa anterior:
fn main()
println!(":.3", 22 / 7); // 3
println!(":.3", 22.0 / 7.0); // 3.143
Si tiene variables, puede convertirlas con as
a cualquiera f32
o f64
, dependiendo de sus necesidades:
fn main()
let x = 22;
println!(":.3", x / 7); // 3
println!(":.3", x as f32 / 7.0); // 3.143
Cuando está trabajando con variables enteras y no tiene la opción de agregar puntos decimales, puede convertir las variables enteras en flotantes usando el as
palabra clave:
fn main()
let a = 42;
let b = 23;
let c = a / b; // integer division
let d = a as f64 / b as f64; // cast both variables to float before division
println!("integer division: nfloat division: ", c, d);
Esto devuelve los siguientes valores:
integer division: 1
float division: 1.826086956521739
Tienes la opción de favorecer nuestra ocupación fijando un comentario o valorándolo te estamos eternamente agradecidos.