我试图从主函数调用十进制函数。此函数返回任何给定数字小数点右边的内容。当我打印出返回十进制函数的rightSide的值时,该值正确(0.35)。但是,在我从主函数调用十进制函数并尝试保存返回值之后,返回值(main中的变量a)为0。基本上,我要打印的两个值应该相同,但不是相同的。
#include <iostream>
#include<iomanip>
using namespace std;
int integer(double number) {
int leftSide;
leftSide = number;
return leftSide;
}
int decimal (double number) {
int leftSide;
double rightSide;
leftSide = integer(number);
rightSide = number - leftSide;
cout << "rightSide: " << rightSide
return rightSide;
}
int main() {
double x;
x = decimal(3.25);
cout << "x: " << x << endl;
return x;
}
答案 0 :(得分:2)
是的,整数并不算小数位,令人讨厌的事实是它们不是整数,而是整数。也许考虑一种可以处理小数点的类型?
double decimal (double number) {
int leftSide;
double rightSide;
leftSide = integer(number);
rightSide = number - leftSide;
return rightSide;
}
答案 1 :(得分:1)
int decimal (double number)
应该为double decimal(double number)
,否则您在命令返回代码时不能返回分数。