删除小数位

时间:2017-05-29 09:14:47

标签: android decimal

我得到一个双精度值(例如-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
*/

5 个答案:

答案 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