[ https://issues.apache.org/jira/browse/AVRO-3331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17484553#comment-17484553 ]
Martin Tzvetanov Grigorov commented on AVRO-3331: ------------------------------------------------- I wonder how this is supposed to work... num_bigint does not support decimals! {code:java} use num_traits::FromPrimitive; use num_traits::cast::ToPrimitive; let big_int = BigInt::from_f32(9936.23_f32).unwrap(); println!("as float {:.2?}", big_int.to_f32().unwrap()); // prints 9936.00, i.e. .23 is lost!{code} I might be missing something but I have the feeling we will have to rework it to use some BigDecimal library, like https://github.com/akubera/bigdecimal-rs > Rust: Cannot extract Decimal value > ---------------------------------- > > Key: AVRO-3331 > URL: https://issues.apache.org/jira/browse/AVRO-3331 > Project: Apache Avro > Issue Type: Bug > Components: rust > Reporter: Thomas Schilling > Assignee: Martin Tzvetanov Grigorov > Priority: Major > > The [Decimal|https://docs.rs/avro-rs/latest/avro_rs/struct.Decimal.html] type > (as of 0.13) doesn't have any methods or trait implementations that allow > users to extract the value. The only workaround I could think of would be to > parse the output of the `Debug` implementation. But that's clearly very > inefficient and fragile. > The (unreleased?) version 0.14 also seems to have the same issue > ([source|https://github.com/apache/avro/blob/master/lang/rust/src/decimal.rs]). > It might just be enough to make the {{to_vec }}method public and specify how > to interpret the result vector. -- This message was sent by Atlassian Jira (v8.20.1#820001)