I have a code in java that says,
btmpW / imgW
but in this case I get 0
as the value, I tried using int
, long
, float
and double
as my data type but it still returns 0
.
When I try to do the Log.i()
on both int values, I got this
I/btmpW: 548
I/imgW: 1041
So using a calculator to calculate, I got 0.5346341463
… and I am new to Java, but I think Java don't accept numbers with more than 9 digits, making me assume that Java returns only the (int)0
and since the digits are more than 9, it just ignored the decimal. So i searched and found something like BigDecimal
and BigInteger
. So I tried to use them, but I am getting some errors
So I want to know, is there a way to store such value in Java. btmpW
and imgW
are user defined so I don't know what the outcome would be when I run btmpW / imgW
, so basically, is there a digits data type in Java that stores both long, short, integer and decimal numbers
Update
Below are the errors I am getting
BigDecimal a = (BigDecimal)btmpW / imgW; //Inconvertibles types; cannot cast 'int' to java.math.BigDecimal
BigInteger a = (BigInteger)btmpW / imgW; //Inconvertibles types; cannot cast 'int' to java.math.BigInteger
BigIntegers a = (BigIntegers)btmpW / imgW; //Inconvertibles types; cannot cast 'int' to java.math.BigIntegers
BigDecimal a = btmpW / imgW; //Inconvertibles types; REQUIRED: BigDecimal FOUND int
BigInteger a = btmpW / imgW; //Inconvertibles types; REQUIRED: BigInteger FOUND int
BigIntegers a = btmpW / imgW; //Inconvertibles types; REQUIRED: BigIntegers FOUND int
Please login or Register to submit your answer