2016-01-13 39 views
0

我可以用一个例子来解释这个。整数或浮点值的数学运算

考虑浮点值等2.0,3.0等输出必须数即2,3等

如果浮点值等2.1,3.5等等的输出保持相同,即2.1,3.5

是否有任何浮点数值的数学运算来做到这一点?

+0

你要转换的是一些浮于整数和浮点数等漂浮到的操作? Java方法签名不能仅在其返回类型中变化,因此听起来不太可能。 – sisyphus

+0

你正在谈论你想如何将一个数字格式化为一个字符串。这不是2.0 == 2的数学函数,所以数学上没有变化。 –

回答

2

你可以很容易地检查一个浮点数是否有小数位。

if (number % (int) number == 0) 
    System.out.println((int) number); // you know it has no decimal places 
else 
    System.out.println(number); // it has decimal places and you want to print them 

link由Seffy戈兰提供建议一个更好的解决方案,通过简单地比较

if (number == (long) number) { ... } 

我想我会考虑到我的答案,因为它是一个很好的方法,我不知道的。

2

我觉得@LordAnomander答案是好的,但有点昂贵,尝试使用:

if (number - (int) number == 0) 
System.out.println((int) number); // you know it has no decimal places 
else 
System.out.println(number); // it has decimal places and you want to print them