我是Java的新手,正在制作一个小数计算器。
基本上我将分数转换为小数(double),加/减/乘/除它们,将它们四舍五入到小数点后两位,然后将它们转换回最简单形式的分数。
它一直有效,直到我遇到重复的小数。我认为问题在于double的不准确性和舍入到小数点后两位,但我不知道如何在不完全重做整个代码的情况下解决这样的问题。
例如: 5/2 + 7/3 = 29/6,但最终结果为483/100
那么我怎样才能使这样的表达式等于 29/6 而不是 483/100 。
对于诸如5/10 + 1/2 = 1/1
的表达式,它可以正常工作