如何在Java中将双数字舍入为1所需的十进制数字

时间:2016-03-29 08:45:37

标签: java

我的号码是24,我需要像结果24.0一样返回。我怎么能这样想。

我尝试使用此代码,但是返回24.如果24.5正常工作但是24就像整数一样返回。

double sliderValue = Math.round(number*10)/10;

任何人都知道如何返回24.0

4 个答案:

答案 0 :(得分:2)

您将内部陈述演示文稿混淆。

值为24.0的double呈现(默认情况下,例如使用System.out.print时)24

其他方法用于显示小数点后指定位数的值:

double f = 24;
System.out.printf("%.1f\n", f);   // will print 24.0

您也应该考虑使用BigNumber来代替小数点后面的位数,并将24.00视为与24.0不同的数字。

答案 1 :(得分:2)

你可以试试这个

解决方案1: 返回double

SimpleDateFormat sdf = new SimpleDateFormat("yyyy");    
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));    
System.out.println(calendar.getWeekYear());

value = Double.parseDouble(new DecimalFormat(" ##。#")。format(value));

解决方案2:  它会返回字符串

仅用于演示的示例

double value = 12.3457652133

希望如此有帮助

答案 2 :(得分:0)

您可以尝试:(我假设您只会在控制台中打印结果并查看它)

double double1 = Double.valueOf(24);
double double2 = Double.valueOf(24.5);

System.out.println(double1);
System.out.println(double2);

这将为您提供输出:

24.0
24.5

答案 3 :(得分:0)

使用DecimalFormat

Item_Temp326024f0-f587-11e5-8a81-00000018263a to string DEV_CM_ARTMAS_20160329-152112-466.xml