double num1=3.3;
double num2=3.8;
//print output and round off
cout<<floor(num1+0.5)<<endl;
cout<<floor(num2+0.5)<<endl;
我的任务是首先对数字进行舍入,然后将其转换为整数:舍入后的num1和num2的输出应分别为3.000000
和4.000000
。我该如何将其投放到int
以获得上述答案3
和4
?
答案 0 :(得分:3)
您可以声明private void methodUsingMyClass()
{
getMyClass().doStuff();
}
变量并分配int
的结果,然后输出floor
。也不再需要发言权,因为分配给int
会隐含地这样做。
int
int i1 = num1+0.5;
请注意,在您当前的代码中,cout<<i1<<endl;
实际上并没有任何帮助,因为您丢弃了结果。 floor()
未修改其参数,但返回其结果,并且您没有将其分配给任何内容。你可以使用,例如,
floor
然后num1 = floor(num1+0.5);
将包含结果。
答案 1 :(得分:2)
3.0
将打印static_cast
。你在这里不需要更多演员,但是如果你想这样做,请使用double num1=3.3;
double num2=3.8;
// to round off
int num1_as_int = static_cast<int>(floor(num1+0.5));
int num2_as_int = static_cast<int>(floor(num2+0.5));
//print output
cout<<num1_as_int<<endl;
cout<<num2_as_int<<endl;
:
static_cast
有关URL : https://$USERNAME:$APIKEY@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectFilter={"virtualGuests":{"tagReferences":{"tag":{"name":{"operation":"in","options":[{"name":"data","value":["$tag1","$tag2"]}]}}}}}
Method: GET
Note: replace $tag1 and $tag2 with the tags you wish
here的更多信息,以及为什么要使用它而不是C风格的演员here。