有没有一种简单的方法可以将C语言中的1.3333333转换为1 + 1/3?只有分数的代码而不是整数。我应该在使用分数之前将其拉出来吗?
答案 0 :(得分:0)
我认为这很难。有两个原因:
分数总是可以转换为十进制数,但小数有时会丢失数字,因此无法进行精确的往返。例如:哪个数字有资格转换为1/3?:
每个十进制数可以转换为多个分数。例如:0.25可以转换为:
但是,如果您对某些不太精确的解决方案持开放态度,请尝试:Algorithm for simplifying decimal to fractions
答案 1 :(得分:0)
你应该设置最大分母,例如1 000 000(一个milione)并尝试缩短。你必须意识到可能会失去精确度
例如,您有1,450