首页 > Java, 挨踢(IT) > 简易Java(05):Javadouble示例

简易Java(05):Javadouble示例

2014年5月16日 发表评论 阅读评论 342 人阅读    

其实,这篇文章所讲内容非常简单、非常基础。相信99%的Java程序员都了解。不过,为了整个《简易Java》系列的完整性,还是把这篇文章翻译出来了。大家可以忽略这篇文章,直接飞过。

你应该遇到过这样的情形,你想得到一个double类型的数,但是却得到一个int类型的数。

对于如下方法,devide(2, 3)将返还0.0。

/**
 * Coder: D瓜哥,http://www.diguage.com/
 */
public static double devide(int x, int y) {
    return x / y;
}

问题就在于x / y进行的是整形除法。如果想让他们进行浮点数除法,就必须对两个数中的一个进行类型转换。(double) x / yx / (double) y都可以。正确代码如下:

/**
 * Coder: D瓜哥,http://www.diguage.com/
 */
public static double devide(int x, int y) {
    return (double) x / y;
}

很多时候,我们更想要一个带一定精度的浮点数。有很多方式都可以实现,下面的这个是常用的简单方法。如果你想要精确到两位小数点的结果,则可以使用如下方法:

/**
* Coder: D瓜哥,http://www.diguage.com/
*/
public static double devide(int x, int y) {
double z = (double) x / y;
double pro = Math.round(z * 100);
return pro / 100;
}

《Simple Java》是一本讲解Java面试题的书。讲解也有不少独特之处,为了面试,《简易Java》走起!



作 者: D瓜哥,https://www.diguage.com/
原文链接:https://wordpress.diguage.com/archives/84.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

分类: Java, 挨踢(IT) 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.