在VS2010 C++中从"双精度"转换为"int"
conversion from 'double' to 'int' in VS2010 C++
这是我人生中第一次使用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,以便与我的代码的其余部分一起工作…然而,浇注似乎没有工作,因为我得到这些错误:
warning C4244: 'argument' : conversion from 'double' to 'int', possible loss of data
我知道这些只是警告,但我的代码仍然失败…还有别的办法吗?
如果将double类型转换为int类型,则总是会丢失数据,这就是警告所要说明的。因为您知道这确实是想要的结果,所以可以忽略警告。但是,您应该使用
static_cast<int>(q)
代替(int)q;
相关文章:
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 是否可以从int转换为enum类类型
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 功能样式转换从 'int' 到 'ItemType' 的匹配转换
- 将 int 数组转换为 std::vector<int*>
- 如何转换 int 变量并附加到常量 wchar_t*
- 类型转换<int>的舍入问题
- 在Objective-C中调用sqlite3数据库时,如何调用和转换int/NSNumber
- 转换 int -> 无符号长 长 是否由标准定义
- 简单的 int 到字符串转换..int to const char* 无效
- 如何将转换 int 除法键入为浮点数
- C++类型转换 int * 到类
- 预期的类型说明符,并且无法在初始化时转换“int*”
- 转换int并将其与char*连接
- 字符串流在转换int型时添加新行
- 转换int为字符串/char c++ /Arduino
- c# P-Invoke:如何转换INT fun(BYTE *bStream, UINT16 *nCount, const
- 类型转换(int**)和int(*)的区别
- 从"int"到"nodeType"的无效转换<int>
- 从无符号int构造对强制转换int的引用