假设我们有0.33,我们需要输出"1/3".
如果我们有"0.4",我们需要输出"2/5".
我们的想法是让人们可读,让用户理解"y部分中的x部分",作为理解数据的更好方式.
我知道百分比是一个很好的替代品,但我想知道是否有一个简单的方法来做到这一点?
作为计算器应用程序的一部分,我正在尝试使用sigma表示法.但是,它输出的结果总是小数,其余的并不重要.我只想将小数更改为分数.
我已经有了reduce函数,我遇到的问题是从这样的小数点开始:'0.96875'到它的小数值,'31/32'
谢谢!
PS:我已经调查了几乎所有事情,而对于我的生活,我无法弄清楚这一点.此时我需要的是如何从中取出小数,然后我可以减少它.
这是我的reduce方法:
-(void)reduce {
int u = numerator;
int v = denominator;
int temp;
while (v != 0) {
temp = u % v;
u = v;
v = temp;
}
numerator /= u;
denominator /= u;
}
Run Code Online (Sandbox Code Playgroud)