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

简易Java(05):Javadouble示例

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

其实,这篇文章所讲内容非常简单、非常基础。相信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瓜哥,http://www.diguage.com/
原文链接:http://www.diguage.com/archives/84.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。



如果感觉这篇文章不错,请点击这里的分享按钮,分享到微博等地方去,让更多人受益!
您的支持是D瓜哥最大的写作动力!谢谢!

分类: Java, 挨踢(IT) 标签: ,

无觅相关文章插件,快速提升流量