社区
C++ 语言
帖子详情
[求助] 关于double和int夹杂转换的问题~~~~
雨中的月儿
2006-03-28 05:28:00
如题,一个计算式中有好多int和double型的数据,进行四则运算,但结果并不如我所想,有的时候会出现很怪的问题。我知道,这是数据转换时数据丢失的问题,但不知如何避免,还请各位高手给我系统讲一下。
谢谢了,先~~~
...全文
537
9
打赏
收藏
[求助] 关于double和int夹杂转换的问题~~~~
如题,一个计算式中有好多int和double型的数据,进行四则运算,但结果并不如我所想,有的时候会出现很怪的问题。我知道,这是数据转换时数据丢失的问题,但不知如何避免,还请各位高手给我系统讲一下。 谢谢了,先~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zh2817
2006-03-29
打赏
举报
回复
一个计算式中有好多int和double型的数据,进行四则运算,但结果并不如我所想,将你的类型强制转换为你想要的类型试一下!
iamwiner
2006-03-29
打赏
举报
回复
int iDes = d1*d2+d3*d4; //这样会出错。----应该也不会出错吧?
iDes = (int)(d1*d2+d3*d4); //这样就不会出错。
最好要显示转换.
雨中的月儿
2006-03-29
打赏
举报
回复
不过,我以前听说过int -> double不会有数据丢失,double -> int时,会有数据丢失,而且如果显式转换,效果不会出错,如果隐式转换就会出现不明数据,是这样么?
比如有一些double数据四则运算后,要求赋值给一个int型的值,就会出错。但如果显式转换就不会。
double d1,d2,....;
int iDes = d1*d2+d3*d4; //这样会出错。
iDes = (int)(d1*d2+d3*d4); //这样就不会出错。
大家碰到类似情况吗?
这确实是个很让人郁闷的事情。
gooderfeng
2006-03-28
打赏
举报
回复
把int都做成double就好了,如果不能就得强制转换一下,不过你说大量的,怎么弄也是麻烦
netting_fish
2006-03-28
打赏
举报
回复
都转化成高级别的类型就不会出错了(其实double也会出错,因为double不能百分百的存数)
把int 都转为double
fatalerror99
2006-03-28
打赏
举报
回复
int 除 int,结果还是 int,小数位会被切掉,所以要避免这样的运算。先转换成 double 再除。
雨中的月儿
2006-03-28
打赏
举报
回复
晕,二楼的兄弟,这个跟“类”有什么关系呢?还要加explicit?
汗~~~~
healer_kx
2006-03-28
打赏
举报
回复
运算中尽量把所有的int都转化为double了,这样就没有错误了.
dragonzxh
2006-03-28
打赏
举报
回复
在类前面explicit
MySQL 数据类型和运算符
Re: MySQL 数据类型和运算符 ============================= # 数据类型 整数类型:五种 TINY SMALL MEDIUM
INT
BIG 浮点和定点小数类型:三种 FLOAT
DOUBLE
DECIMAL 日期与时间数据类型:五种 YEAR -1 字符串类型...
如何在Java中将
double
转换
为
int
?
在本文中,我们将看到如何将
double
转换
为
int
。 在Java编程中,您将有一个
double
原语值(例如82.14),但是要执行进一步的操作,您需要一个
int
值(例如82),所以让我们看看如何在Java中将
double
转换
为
int
。 您可以通过三种方式将
double
转换
为
int
。我将在下面列出所有内容,然后我们将一一列出。 1,将
double
转换
为
int
—使用类型
转换
2,将
double
转换
为
int
—使用 Math.round() 3,将
double
转换
为
int
—使用
Double
.
Int
Value
int
类型和
double
类型数值
转换
类型自动
转换
规则: 参与运算(算数运算和赋值运算)操作数和结果类型必须一致, 不一致时启动隐式
转换
: 两种类型兼容:
int
和
double
兼容(都是数字类型) 目标类型大于原类型
Int
类型取值范围<
double
类型取值范围
Int
类型可以自动
转换
double
类型数据(
Int
类型可以隐式
转换
double
类型数据) 如果一个操作数为
double
那么整个表达式可提升为
double
型 比如某个值*0.25
Double
类型数据
转换
为
int
类型数据,丢精度(小数点) num1为小数变量 显示
double
类型
转换
成
int
类型
public class test09 { public static void main(String[] args) {
double
a = 5000.44;
double
b = 100.12;
double
v = a / b;
int
i = new
Double
(v).
int
Value(); ...
Java类型
转换
:
int
转
double
标题Java类型
转换
:
int
转
double
由于
double
的范围比
int
数据类型大,所以当
int
值被赋给
double
时,java会自动将
int
值
转换
为
double
。 隐式
转换
:由于
double
数据类型的范围和内存大小都比
int
大,因此从
int
到
double
的
转换
是隐式的。并不需要像
double
to
int
转换
那样进行类型
转换
; 使用
Double
.valueOf()方法 /** * Ja...
C++ 语言
64,646
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章