在Int中获取Float部分

时间:2016-07-07 07:07:10

标签: java android double

我正在开发一个应用程序,其中我必须以整数值得到浮动部分。

例如,如果我的号码是153.12324,那么输出应该是12324。我尝试过这种方式,但有时会出错。

这有什么问题或有更好的方法吗?

d

中有双重值
    double d =any_double_value;
    String[] splitter = String.valueOf(d).split("\\.");
    splitter[0].length();   // Before Decimal Count
    int count = splitter[1].length();
    int integerpart = (int) calcResult;
    double floatpart = calcResult - integerpart;
    while (count!=0)
    {
        floatpart=floatpart*10;
        count--;
    }

    int floatpartinInt=(int)floatpart;

这只在某些情况下有效(它给出1个数字更少,如果答案是124则给出123),如果答案是长双,则不是像3.333333333(10/3)

3 个答案:

答案 0 :(得分:3)

您也可以不split。通过使用以下方式,

double value = 3.25;
double fractionalPart = value % 1;
double integralPart = value - fractionalPart;

这可能有助于你

答案 1 :(得分:0)

将此代码用于您的工作并享受Man

double val=1.9;
    String[] arr=String.valueOf(val).split("\\.");
    int[] intArr=new int[2];
    intArr[0]=Integer.parseInt(arr[0]); // 1
    intArr[1]=Integer.parseInt(arr[1]); // 9

答案 2 :(得分:0)

你也可以这样做:

lvalue = (long) value;
fPart = value - lvalue;