pub struct ConversionRate {
pub report_date: NaiveDate,
pub from_currency: String,
pub to_currency: String,
pub rate: Decimal,
}Expand description
Foreign exchange conversion rate
Provides daily FX conversion rates for multi-currency accounts. Used to convert foreign currency amounts to your base currency.
§Example
use ib_flex::parse_activity_flex;
use rust_decimal::Decimal;
let xml = std::fs::read_to_string("activity.xml")?;
let statement = parse_activity_flex(&xml)?;
// Find conversion rate for a specific currency pair
let eur_to_usd = statement.conversion_rates.items
.iter()
.find(|r| r.from_currency == "EUR" && r.to_currency == "USD");
if let Some(rate) = eur_to_usd {
println!("EUR/USD rate on {}: {}", rate.report_date, rate.rate);
// Convert 1000 EUR to USD
let eur_amount = Decimal::from(1000);
let usd_amount = eur_amount * rate.rate;
println!("1000 EUR = {} USD", usd_amount);
}
// List all available rates
for rate in &statement.conversion_rates.items {
println!("{}/{}: {}", rate.from_currency, rate.to_currency, rate.rate);
}Fields§
§report_date: NaiveDateReport date
from_currency: StringFrom currency (source)
to_currency: StringTo currency (target)
rate: DecimalExchange rate
Trait Implementations§
Source§impl Clone for ConversionRate
impl Clone for ConversionRate
Source§fn clone(&self) -> ConversionRate
fn clone(&self) -> ConversionRate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConversionRate
impl Debug for ConversionRate
Source§impl<'de> Deserialize<'de> for ConversionRate
impl<'de> Deserialize<'de> for ConversionRate
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ConversionRate
impl PartialEq for ConversionRate
Source§impl Serialize for ConversionRate
impl Serialize for ConversionRate
impl StructuralPartialEq for ConversionRate
Auto Trait Implementations§
impl Freeze for ConversionRate
impl RefUnwindSafe for ConversionRate
impl Send for ConversionRate
impl Sync for ConversionRate
impl Unpin for ConversionRate
impl UnwindSafe for ConversionRate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more