#转换 #温度 #单位 #不同 #类型 #摄氏度 #华氏度

tempconvert

用于将温度转换为不同单位及其类型的包

1个不稳定版本

0.1.0 2023年3月5日

#1794算法

MIT 协议

11KB
189

🌡️ 🥶 tempconvert 🥶 🌡️

简单温度转换和类型

  • 开尔文 - K - 🥶
  • 摄氏度 - C - 🥵
  • 华氏度 - F - 🤒

提供简单的温度转换类型。

💻 安装

在Cargo.toml中添加包以使用

[dependencies]
tempconvert = "0.1.0"

可以从整数、浮点数或String初始化

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::<F>();

    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::<C>.to_string())

}

👩🏻‍💻🧑🏼‍💻 使用方法

将温度从一种单位转换为另一种单位

您可以使用元组结构体初始化温度或使用into方法从不同类型转换。所有单位都支持从整数、浮点数和String类型进行转换

    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)
    }

📝📝 使用工具将f64轻松转换为不同单位

tempconvert有一个独立的utils模块,可以用于在不使用类型的情况下将f64转换为不同单位

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));
}

无运行时依赖