# `🌡️ 🥶 tempconvert 🥶 🌡 ️` ## Easy Temperature Conversion and Types - Kelvin - K - 🥶 - Celsius - C - 🥵 - Fahrenheit - F - 🤒 Provides easy types for temperature conversion. ## 💻 Install Add package in your Cargo.toml to use ```toml [dependencies] tempconvert = "0.1.0" ``` Can be initialized from integer, float or String ```rust use tempconvert:: {K, C, F}; fn main() { // create Kelvin from string by parsing let k: K = "273".parse().unwrap(); // Gives beautified string with K let k_string: String = k.to_string(); // Convert into celsius easily let c1: C = k.into(); // Create Kelivin from i32 let k1: K = 273.into(); // convert to Fareinheit let f1 = k.into::(); let k2: K = 273.0.into(); let f2: F = K.into(); println!("{}", k.to_string()); println!("{}", k1.to_string()); println!("{}", k2.to_string()); println!("{}", k.into::.to_string()) } ``` ## 👩🏻‍💻🧑🏼‍💻 How to use ### Convert temperature from one unit to other You can either initialize the temperature with the tuple struct or use the `into` method to convert from differnt types. All of the units support conversion from integer, float and the String type ```rust use tempconvert::{C, F, K}; fn main() { let f1: F = 32.into(); let f2: F = 32.0.into(); let f = F(32.0); dbg!(f); // ouput // F(32.0) dbg!(f.to_string()); // output // "32.0°F" let c: C = f.into(); dbg!(c); // output // C(0.0) let k: K = f.into(); dbg!(k); // output // K(273.0) } ``` ### 📝📝 Use utils to covnert f64 to different units easily `tempconvert` has independent utils module which can be used to convert f64 to different units without the types ```rust use tempconvert::utils::{ c_to_f, c_to_k, f_to_c, f_to_k, k_to_c, k_to_f }; fn main() { dbg!(c_to_k(0.0)); dbg!(c_to_f(0.0)); dbg!(f_to_c(32.0)); dbg!(k_to_c(273.0)); dbg!(k_to_f(273.0)); } ```