Rust Basics
Rust Data Types: Integers, Floats, bool and char
Pick the right type for each value and convert between numbers with as.
What you'll learn
- u8, i32, i64 and f64
- bool and char
- Converting with as
Value → type
30u8, a small whole number-4.5f64, a decimal numbertruebool'A'charEvery value has a type known at compile time
Rust is statically typed: every value has a type that the compiler knows. Integers come in sizes such as u8 and i64, f64 holds decimal numbers, bool is true or false, and char is one Unicode character.
Rust never converts numbers silently, so age as f64 is needed before adding a float. Underscores in 1_000_000 only make the number easier to read. u8::MAX is the largest value a u8 can hold.
Key points
- Integer types say their size: u8 holds 0 to 255.
- Rust never converts numbers silently: write age as f64.
- char is one Unicode character, written in single quotes.
Runnable Rust example
Rust
main.rs
fn main() {
let age: u8 = 30;
let temperature: f64 = -4.5;
let is_ready: bool = true;
let grade: char = 'A';
let big = 1_000_000i64;
let total = age as f64 + temperature;
println!("{age} {temperature} {is_ready} {grade} {big}");
println!("total = {total}");
println!("u8 max = {}", u8::MAX);
}
30 -4.5 true A 1000000
total = 25.5
u8 max = 255Practice
Open the example in the online compiler, change a value or add a line, and predict the output before you run it. Then break the code on purpose and read the compiler's message.
Finished this lesson?
Mark it as learned to track your progress.
Your progress is saved in this browser Sign in to keep it on every device.
Practice with a challenge
Use what this lesson covers to solve a real problem. Each challenge runs in your browser with instant tests and an AI review.
- Body Mass Index Compute BMI from weight and height. Easy
- Average of Three Average three whole numbers. Easy