我正在开发一个应用程序,其中我必须以整数值得到浮动部分。
例如,如果我的号码是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)
答案 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;