0
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

どうもありがとう。

4

3 に答える 3

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);
于 2012-08-24T10:59:36.610 に答える
1

浮動小数点値から整数部分を差し引くだけです。

double d = (double) (a*b)/c;
int intPart = (int) d;
double fracPart = d - intPart;
于 2012-08-24T11:00:55.090 に答える
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);
于 2012-08-24T11:33:06.883 に答える