#binary #convert-binary #u128 #decimal #decimal-number #f64 #numbers

binary_ok

一个用于帮助您将二进制转换为十进制以及从十进制转换为二进制的crate,您可以传递引用 &f64 和 &u128 数字

3个不稳定版本

0.2.1 2020年12月30日
0.2.0 2020年12月30日
0.1.1 2020年12月27日
0.1.0 2020年12月27日

#10 in #u128

MIT/Apache

7KB
83

binary_ok

您可以使用实数和整数,按需使用。

将以下内容添加到您的 cargo.toml 文件中以使用此crate

[dependencies]
binary_ok = "0.2.1"

如果您不使用 f32 或 f64,只需使用 u128 版本的函数,这样您就可以在流中执行一些数学运算。

use::binary_ok;

binary_ok::u128_to_binary(number: &u128);
binary_ok::u128_to_decimal(number: &u128);

binary_ok::to_binary(number: &f64);
binary_ok::to_decimal(number: &f64);

u128_to_binary() 返回一个 u128 值

u128_to_decimal() 返回一个 u128 值

to_binary() 返回一个位字符串(由于IEEE 754标准和Rust处理浮点数的方式,据我所知,无法使用parse()方法以高精度将字符串转换为f32或f64的十进制表示)

to_decimal() 返回一个 f64 十进制数字

use::binary_ok;

let decimal_number: u128 = 87654884988;
println!("Decimal number for conversion: {}", decimal_number);

let binary_number: u128 = binary_ok::u128_to_binary(decimal_number);
println!("Binary conversion result: {}", binary_number);

let to_decimal_again: u128 = binary_ok::u128_to_decimal(binary_number);
println!("To decimal again: {}", to_decimal_again);

输出

转换用的十进制数字:87654884988

二进制转换结果:1010001101000101000110110011001111100

再次转换为十进制:87654884988

let x: f64 = 1110101.0;
let y: f64 = 1001101.11;

let result: String = binary_ok::to_binary(&(binary_ok::to_decimal(&x) + binary_ok::to_decimal(&y)));
println!("{}", result);

输出

11000010.11

无运行时依赖