浮点数在java中

时间:2013-11-26 14:05:49

标签: java sum

这是两个float之间的简单添加操作:

float a = 3.9F;
float b = 2.95F;
Log.i("Operation","sum: "+String.valueOf(a+b));

这返回以下输出:

11-26 15:02:15.680: I/Operation(18403): sum: 6.8500004

如何获得正确的值(6.85)?

3 个答案:

答案 0 :(得分:3)

您应该使用DecimalFormat类。

示例

DecimalFormat decFormat = new DecimalFormat("#.##");
Log.i("Operation", "sum: " + decFormat.format(a + b));

如果你想确保总有两个小数位,即:2.902.00,那么你可以这样做:

DecimalFormat decFormat = new DecimalFormat("0.00");
Log.i("Operation", "sum: " + decFormat.format(a + b));

答案 1 :(得分:0)

试试这个......

DecimalFormat format = new DecimalFormat("###.##");
String val = format.format(1.2223F+1.4334F);
System.out.println(val);

答案 2 :(得分:0)

您可以使用System.out的格式化方法,以便您可以决定具体的输出格式:

float a = 3.9F;
float b = 2.95F;
System.out.format("%.2f", a + b);

输出将是:

6.85

在这里,正如你猜测的那样,%f采用float类型的参数而。%和f之间的.2意味着你想要输出这个带有2个十进制数的float参数。