Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除"。0“;在java中使用double时是否使用整数?_Java_Android_Double - Fatal编程技术网

如何删除"。0“;在java中使用double时是否使用整数?

如何删除"。0“;在java中使用double时是否使用整数?,java,android,double,Java,Android,Double,可能重复: 我在使用Double时遇到问题。当结果是一个整数时,它将显示一个“.0”,如1.0、2.0 有人能帮我删除整数中的.0吗?您正在显示的字符串。您需要使用DecimalFormat设置双精度格式 public static void main(String[] args) { DecimalFormat decimalFormat=new DecimalFormat("#.#"); System.out.println(decimalFormat.format

可能重复:

我在使用Double时遇到问题。当结果是一个整数时,它将显示一个“.0”,如1.0、2.0


有人能帮我删除整数中的.0吗?

您正在显示的字符串。

您需要使用DecimalFormat设置双精度格式

public static void main(String[] args) {
      DecimalFormat decimalFormat=new DecimalFormat("#.#");
      System.out.println(decimalFormat.format(2.0)); //prints 2
}
印刷品:

2
2.11
2,000.11
使用

DecimalFormat format=new DecimalFormat("#.#"); //not okay!!!
不正确,因为它会弄乱10^3、10^6等分隔符

2000.11将显示为“2000.11”而不是“2000.11”

当然,如果您希望显示格式正确的数字,而不仅仅是使用不正确的toString()

还请注意,格式可能因用户的区域设置而不同,因此应使用工厂方法以用户的区域设置为参数相应地初始化DecimalFormat:

NumberFormat f = NumberFormat.getInstance(loc);
 if (f instanceof DecimalFormat) {
     ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
 }

更新 此格式化字符串也可以正常工作,无需调用额外的方法:

    DecimalFormat format=new DecimalFormat("#,###.#");
   //format.setDecimalSeparatorAlwaysShown(false);

DecimalFormat(“#”)是enough@Eng.Fouad-谢谢-习惯了小数点后两位。。所以这是出于习惯!这个代码适用于android吗?@ikzton-你试过这个代码了吗?@Eng.Fouad不,不是。他没有说他想删除十进制数。2.0应该变成2,2.1应该变成2.1,而不是2这个问题的答案是不正确的,因为它不是一个通用的“如何在Java中格式化一个数字”问题,而是一个关于特定格式的问题。它应该是一个重复的问题,这应该是公认的答案。
    DecimalFormat format=new DecimalFormat("#,###.#");
   //format.setDecimalSeparatorAlwaysShown(false);