如何删除"。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);