我试图在java中将两个数字相除-更具体地说,我有小数800/9177,并希望将其转换为双精度、浮点数或w/e。我的问题是,当我试图获得小数的值时,我得到的结果是0。
有人知道怎么做吗?
我的代码:
double dt = 800/9177;
float ft = 800/9177;
double dw = 800/122;
System.out.println("dt : " + dt + " ft: " + ft + " dw " + dw + " 800/9177 " + (800/9177));它输出dt: 0 ft: 0 dw : 6.0 800/9177 0,所以除了dw之外的所有分数都是0。
发布于 2013-03-10 06:04:03
最简单的是
double dt = 800.0/9177;或
double dt = (double) 800 / 9177;发布于 2013-03-10 06:04:20
使用数据类型int将导致int丢失数据。从一开始就像这样使用double和float数据类型
double dt = 800/9177.0;
float ft = 800/9177.0f;
double dw = 800/122.0;可以像这样指定一个双精度数r
double d = (double) 123;
double d = 123.0; //default floating point type is double. use f for float
double d = 123d;发布于 2013-03-10 06:04:33
double dt = 800D / 9177;如果你除以两个整数,你会得到一个整数除法。要得到双除法,其中一个操作数必须是双精度数。
https://stackoverflow.com/questions/15316407
复制相似问题