avoid unstable decimal fraction