gpt4 book ai didi

c++ - 在 VS2010 C++ 中从 'double' 转换为 'int'

转载 作者:行者123 更新时间:2023-11-28 00:44:36 25 4
gpt4 key购买 nike

这是我人生中第一次使用 Visual Studio 2010 完成一项学校作业......到目前为止它非常简单,但我在尝试将“double”转换为“int”时遇到了麻烦。我知道 trunc()round() 在 VS2010 中都不起作用,但是我不确定我还能怎么做....这是我的代码:

double q = double floor((p+r)/2);
q = (int) q;
mergeSort(v,p,q);

mergeSort(v,q+1,r);

merge(v,p,q,r);

我需要将变量 q 设置为 int 以便与我的其余代码一起工作......但是转换似乎不起作用,因为我收到这些错误:

警告 C4244:“argument”:从“double”到“int”的转换,可能会丢失数据

我知道这些只是警告,但我的代码仍然失败...还有其他解决方法吗?

最佳答案

如果将 double 转换为 int,总是会丢失数据,这就是警告的内容。由于您知道这确实是期望的结果,因此您可以忽略该警告。但是,您应该使用

static_cast<int>(q)

而不仅仅是 (int)q;

关于c++ - 在 VS2010 C++ 中从 'double' 转换为 'int',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com