用于创建小数部分的程序不能按预期工作

时间:2017-09-28 16:48:23

标签: c++ decimal fractions

#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和四舍五入,但我不知道它是怎么回事可以工作或是否有效。有人?

0 个答案:

没有答案