#include <iostream>
using namespace std;
float numero = 0;
float numerador = 0;
float denominador = 1;
int main() {
cout<<"|----------------------------------------------|";
cout<<'\n';
cout<<"| Conversor de decimal a fraccionario. |";
cout<<'\n';
cout<<"|----------------------------------------------|";
cout<<'\n';
cout<<"Introduce el numero que deseas convertir a fraccionario";
cin>> numero;
cout<<'\n';
numerador = numero;
if (numerador - (int)numerador != 0)
{
numerador = numerador*10;
denominador = denominador*10;
}
else
{
cout<<"Numerador:";
cout<<numerador;
cout<<'\n';
cout<<"Denominador:";
cout<<denominador;
cout<<'\n';
}
return 0;
}
嗨! 我正在制作这个小项目来帮助我完成数学作业。目标是从十进制数中创建一个分数。我试图检查数字是否有小数,如果有,则将其乘以10,然后将另一个变量(denominador)增加10。但是当我尝试运行它时,我只有1的数量和1的分数。 我已经尝试过修改它并向朋友展示它,但遗憾的是他用C ++更好地了解Python。所以我的问题是,问题出在哪里? PS:对不起西班牙语和我糟糕的英语,我不是本地人,我的语言不是最好的。 编辑:我认为这是一个浮点错误,我已经在论坛中搜索,即使有很多关于它的主题,我找不到一个可能的解决方案,除了做int和四舍五入,但我不知道它是怎么回事可以工作或是否有效。有人?