pub fn decimal_to_f64_or_nan(d: Decimal) -> f64Expand description
Convert Decimal to f64, returning NaN on conversion failure
This is preferred over unwrap_or(0.0) because:
- NaN propagates through calculations, making errors visible
- Using 0.0 can hide conversion failures in financial calculations
- Debug builds provide warnings when conversions fail
For precision-critical applications, consider using decimal_to_f64_with_validation
or decimal_to_f64_safe instead.
ยงExample
use rust_decimal::Decimal;
use rusty_common::decimal_utils::decimal_to_f64_or_nan;
let price = Decimal::new(12345, 2); // 123.45
let f64_price = decimal_to_f64_or_nan(price);
assert_eq!(f64_price, 123.45);