我如何让它显示小数

时间:2017-09-15 13:24:28

标签: c++ calculator

我一直在互联网上观看youtube和不同的指南,并认为制作计算器会很有趣,因为我见过很多人这样做,这就是我的开始。它工作正常,但我希望它能够显示小数。所有答案都表示赞赏。 (我有一堆#Include但忽略了那些)

#include <iostream>
#include <limits>
#include <cstdio>
#include <tchar.h>
#include <conio.h>

using namespace std;

int main()

{

  std::cout << "My first caclulator\nPlease enter your first number: ";
  int x, y;
  std::cin >> x;
  std::cout << "Please enter the other number: ";
  std::cin >> y;
  int w = x*y;
  int c = x + y;
  int v = x - y;
  int q = x / y;
  std::cout << "\nNumbers multiplied: " << w << endl;
  std::cout << "\nNumbers added together: " << c << endl;
  std::cout << "\nNumbers subtracted: " << v << endl;
  std::cout << "\nNumbers divided: " << q << endl;
  _tprintf(_T("Press any key to exit "));
  while (_kbhit() ) _gettch();

    _gettch();

    return 0;
}

2 个答案:

答案 0 :(得分:0)

所有计算都是用整数数学完成的,因此不涉及小数(所有值都被截断)。您可以更改代码以使用double,但最终会得到大量的小数位,因此最好使用setprecision进行舍入,例如:

double w = x*y;
double c = x + y;
double v = x - y;
double q = x / y;
std::cout << "\nNumbers multiplied: " << setprecision(2) << w << endl;
std::cout << "\nNumbers divided: " << setprecision(2) << q << endl;

答案 1 :(得分:0)

如果要显示小数,则必须使用其他数据类型。
尝试使用doublefloat

示例:

 double w = x*y;
 double c = x + y;
 double v = x - y;
 double q = x / y;

这应该可以正常工作 如果您需要有关其他数据类型的更多信息,请查看:link