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
非常感谢。
答案 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);