Java:格式为double,带小数

时间:2011-05-05 09:20:25

标签: java objective-c formatting double decimal

在目标C中,我一直在使用此代码格式化一个值,以便写入一个没有小数的零小数值,带小数的值将写成一个小数:

CGFloat value = 1.5;
return [NSString stringWithFormat:@"%.*f",(value != floor(value)),value];

//If value == 1.5 the output will be 1.5
//If value == 1.0 the output will be 1

我需要为Java中的double值做同样的事情,我尝试了以下但是没有用:

return String.format("%.*f",(value != Math.floor(value)),value);

3 个答案:

答案 0 :(得分:1)

看看how to print a Double without commas。这肯定会为你提供一些想法。

准确地说,这样做

DecimalFormat.getInstance().format(1.5)
DecimalFormat.getInstance().format(1.0)

答案 1 :(得分:0)

你的意思是什么?

return value == (long) value ? ""+(long) value : ""+value;

答案 2 :(得分:0)

不确定如何使用String.format(“..”)方法执行此操作,但您可以使用java.text.DecimalFormat实现相同的功能;请参阅此代码示例:

import java.text.NumberFormat;
import java.text.DecimalFormat;
class Test {
public static void main(String... args) {
        NumberFormat formatter = new DecimalFormat();
        System.out.println(formatter.format(1.5));
        System.out.println(formatter.format(1.0));
   }
}

输出分别为1.5和1。