在目标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);
答案 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。