双 - >提取整数

时间:2012-08-24 10:55:41

标签: java int double decimal extract

int a = 4;
int b = 3;
int c = 10;
int d1 =(int) (double)(a*b)/c;
double d2 =(double)(a*b)/c;
System.out.println("d1: " + d1);
System.out.println("d2: " + d2);

Result: d1: 1 and d2: 1.2

如何提取/删除1.2的1.0。所以我得到d2 = 0.2和d1 = 1和  当a = 9 - > (9×3)/ 10。 d2 = 0.7且d1 = 2并且当a = 6->  (6×3)/ 10。 d2 = 0.8且d1 = 1

非常感谢。

3 个答案:

答案 0 :(得分:2)

int a = 4;
int b = 3;
int c = 10;
// Store the original value.
double original = (double)(a*b)/c;
int d1 = (int)(original);
// Get the difference between the original value and the floored one.
double d2 = original - d1;
System.out.println("d1: " + d1);
System.out.println("d2: " + d2);

答案 1 :(得分:1)

只需从浮点值中减去整数部分:

double d = (double) (a*b)/c;
int intPart = (int) d;
double fracPart = d - intPart;

答案 2 :(得分:0)

试试这个

int a = 9;
int b = 3;
int c = 10;

int d1 =(int) (double)(a*b)/c;
double d2 =(double)((a*b)%c)/c;
System.out.println("d1: " + d1);
System.out.println("d2: " + d2);