我得到一个双精度值(例如-3.1234),其中包含一个小数值(在这种情况下为0.1234)。我想删除十进制值中的值(在这种情况下,我想要值-3)。我该怎么做?如果小数只有0,我知道如何删除小数,但在这种情况下,我没有小数值为0。
无论如何这里是代码:
DecimalFormat format = new DecimalFormat();
format.setDecimalSeparatorAlwaysShown(false);
Double asdf = 2.0;
Double asdf2 = 2.11;
Double asdf3 = 2000.11;
System.out.println( format.format(asdf) );
System.out.println( format.format(asdf2) );
System.out.println( format.format(asdf3) );
/*
prints-:
2
2.11
2000.11
*/
答案 0 :(得分:1)
您只需使用intValue()
的{{1}}方法即可获得整数部分。
答案 1 :(得分:1)
您可以将其投放到int
int i=(int)2.12
System.out.println(i); // Prints 2
答案 2 :(得分:1)
舍入小数值&将其转换为整数;
Integer intValue = Integer.valueOf((int) Math.round(doubleValue)));
答案 3 :(得分:1)
如果您只想打印它:
String val = String.format("%.0f", 2.11)
// val == "2"
如果你想保持双重类型但没有小数:
double val = Math.floor(2.11);
// val == 2.000
如果您不关心类型,可以将双重转换为int:
int val = (int) 2.11;
// val == 2
//double as object
int val = myDouble.integerValue();
答案 4 :(得分:1)
http://www.studytonight.com/java/type-casting-in-java检查java中的类型转换
double asdf2 = 2.11;
int i = (int)asdf2;
System.out.println(asdf2);
System.out.println(i);
Output:
2.11`
2