1

重複の可能性:
Java 整数除算: double を生成するにはどうすればよいですか?

2 つの数値を割って .90 のような値を取得しようとすると、1.0 または 0.0 のいずれかになります

int number1 = 6517253;
int number2 = 7195629;
double number3 = number1 / number2; //returns 0.0 supposed to be 0.9057239 and I want 0.90
double number4 = number2 / number1; //returns 1.0 supposed to be 1.1040893 and don't really want that one

double を float に変更すると、同じことが行われます。

4

3 に答える 3

7

オペランドの 1 つを に変換する必要がありますdouble。試す:

double number3 = (double) number1 / number2;
double number4 = (double) number2 / number1;

これは、Java が as の型を推論するためですが、 の型はasint / intと推論されるためです。intdouble / intdouble

于 2012-12-02T23:04:23.267 に答える
0

数値の 1 つを double に変換します。

     double number3 = number1 / (double) number 2
于 2012-12-02T23:06:23.977 に答える
0

Javaのリテラルまたは整数変数に対するすべての操作は整数型(uint32)を返すため、操作を型キャストする必要があります

double number3 = (double)number1/number2;
于 2012-12-02T23:06:48.743 に答える