给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。
如果小数部分为循环小数,则将循环的部分括在括号内。
如果存在多个答案,只需返回 任意一个 。
对于所有给定的输入,保证 答案字符串的长度小于 10^4 。
示例 1:
输入:numerator = 1, denominator = 2
输出:"0.5"
方法一:长除法
长除法在本题中的应用:
我们可以对被除数每次进行除法运算后的余数进行处理,若不为零则将余数*10(向前进一位),再用除数除以该余数计算当前位数下的值,并对当前余数求余更新余数的值;若为零则代表已经除尽可以中断除法。
在实际操作中,我们还需注意以下几点
- 因为给定的除数与被除数可取任意int值,为防止数据溢出先将其转换为long型
- 为了便于运算,我们在开始判断结果的符号并将除数与被除数取绝对值
- 在对括号进行处理时,因为无限循环小数的循环位数只可能出现在小数位,所以对于标志变量的初始值应设置