Function decimal_to_f64_or_nan

Source
pub fn decimal_to_f64_or_nan(d: Decimal) -> f64
Expand 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);