lib.rs/f128 но ценой перформанса, разумеется
lib.rs/rust-decimal с произвольной точностью
error: failed to run custom build command for f128_internal v0.2.2
= help: message: Number has a high precision that can not be represented.
use rust_decimal::prelude::*; use rust_decimal_macros::dec; fn main() { let mut v: Decimal = dec!(0.000001010001011231200001001010009); }
у меня ощущение, что надо в коде число давать строкой
чтобы не было конвертации через f64
но мб я соврал и там ограниченная точность, которой не хватает
fn main() { let mut v: Decimal = Decimal::from_str_exact("0.000001010001011231200001001010009").unwrap(); } ================== thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Underflow'
значит, Decimal не подойдёт, нужны более большие числа
я соврал, с произвольной вот этот
но с ним будет та же проблема, вероятно
ну, там мало звездочек, страшно компилить :)
Обсуждают сегодня