Sye*_*ain -1 c++ math function
#include <iostream>
int main()
{
//Returns Seven divided by three is 2
std::cout << "Seven divided by three is " << 7/3 << std::endl;
//Return Seven divided by three is 2.33333
std::cout << "Seven divided by three is " << 7.0/3 << std::endl;
std::cout << "Seven divided by three is " << 7.0/3.0 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
.0即使我没有在代码中放置float或double变量,如何添加到数字的末尾也会返回小数答案?
c ++是一种强类型语言.这意味着每个对象,甚至是右值常量,都有一个类型.7并且7.0类型不同.你可以在一个简单的例子中看到:
std::cout << typeid(7).name() << "\n";
std::cout << typeid(7.0).name() << "\n";
Run Code Online (Sandbox Code Playgroud)
打印:
i
d
Run Code Online (Sandbox Code Playgroud)
为integer和double.
你的分工操作在单一案件中造成双重印刷的原因7.0/3是因为整体晋升的规则.在这种情况下,3将提升为double,结果值为double类型.