繁体   English   中英

Java中的浮点数[重复]

[英]Float sum in java [duplicate]

这个问题已经在这里有了答案:

这是两个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)?

您应该使用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));

尝试这个...

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

您可以使用System.out的格式方法,以便确定特定的输出格式:

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

输出将是:

6.85

在这里,您可以猜测,%f采用浮点型参数,而.2在%和f个字符之间表示您希望输出此浮点型参数并带有2个十进制数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM