-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scaling string representation differs from dividing by 10^x #627
Comments
You want the [1] https://docs.rs/rust_decimal/latest/rust_decimal/struct.Decimal.html#method.normalize |
Ah awesome! Should the docs of |
Thanks @Tony-Samuels for your reply - exactly right. @Zarathustra2 - I think there is always an opportunity to make the documentation clearer. In this case, would it help to describe what |
@paupino Yes some clearer docs would be nice. Maybe we can also add a code example directly to the docs as example. I personally think a coding example with comments is more clear than plain text. let num = 3850;
let dec = Decimal::from(num) / Decimal::ONE_THOUSAND;
let mut dec_scale = Decimal::from(num);
dec_scale.set_scale(3).unwrap();
// Passes since same number
assert_eq!(dec, dec_scale);
assert_eq!(dec.to_string(), "3.85".to_string());
// set_scale just moves the decimal point and keeps original mantisse.
// this effects the string representation but both dec & dec_scale represent
// the same number
assert_eq!(dec_scale.to_string(), "3.850".to_string());
assert_eq!(dec_scale, dec);
assert_ne!(dec_scale.to_string(), dec.to_string());
// Use normalize to normalize the mantisse
assert_eq!(dec_scale.normalize().to_string(), "3.85".to_string()); |
Hi there,
Is this intended behaviour? If so is there a way to make scaling behave the same way as if I would divided by any 10^x number so that when I convert it to String I don't have any trailing zeros?
Best regards,
Dario
The text was updated successfully, but these errors were encountered: