How to display number with all decimal (not Science notation) android? [duplicate] - android

This question already has answers here:
How do I print a double value without scientific notation using Java?
(18 answers)
Closed 11 months ago.
How can I show the full number instead of the scientific number when you perfonm a division this long.
9.34429093014885 / 10000000
I want to display:
0.000000034429093014885
But it keep returning:
9.34429093014885E-7
JAVA
Double value = ( price / exponent);

BigDecimal.valueOf(9.34429093014885 / 10000000).toPlainString()
Gives your expected result

Related

Showing only 2 digits after dot in Double with kotlin [duplicate]

This question already has answers here:
How to round a number to n decimal places in Java
(39 answers)
round up to 2 decimal places in java? [duplicate]
(12 answers)
Closed 1 year ago.
val yield = (((sun * air)/ (cel+pco))*100).toDouble()
I have an assignment like this. As a result, it shows many numbers after the dot, for example 12.3456712345. I just want it to show as 12.34.

convert milliliters to liters, show 0,4 liters instead of 400 mililiters [duplicate]

This question already has answers here:
Dividing two integers in Java gives me 0 or 100?
(5 answers)
Closed 3 years ago.
I have something like this:
int mls = 400; // 400 milliliters
I'd like to show 0,4 for users (0,4... 0,8... 1,0 ... 1,2...)
I try to divide mls by 1000:
mls = 400 / 1000;
TextView todayValue = findViewById(R.id.todayValue);
todayValue.setText(String.valueOf(mls));
it gives me 0 as a result.
any ideas how to convert milliliters to liters showing to user something like 0,4 liters???
The idea is, you are first doing a / b, and because it's an integer operation, it'll round the result to 0. Doing a * 100 first should fix it.
From:Dividing two integers in Java gives me 0 or 100?
You should try it with another primitive type since int doesn't cover decimals.
Other options are, for instance, Double, Float, Long
So instead of declaring your variable as int mls = 400 you could do it as double mls = 400.
Another solution could be using a decimal at the operation, like 400.0 / 1000.0

Remove decimal point and numbers from string in Android [duplicate]

This question already has answers here:
How to remove the " .0" in a whole number when using double in java? [duplicate]
(3 answers)
Closed 4 years ago.
So, I have two numbers as strings - for example, 123.00 and 123.50. How do I remove the decimal point and all that follows. I had a method that worked for the 123.00, but would not work correctly on the 123.50.
Here is what I have so far:
String balance = getString("balance");
BigDecimal number = new BigDecimal(balance);
String formattedBalance = number.stripTrailingZeros().toPlainString();
int roundedBalance = Integer.parseInt(formattedBalance);
int roundedBalance = Integer.parseInt(getString("balance").split(".")[0]);
Do you want to remove the following points or numbers?
If only the points why not:
balance = balance.replace(".","");

displaying float in android without adding trailing zero [duplicate]

This question already has answers here:
How to nicely format floating numbers to string without unnecessary decimal 0's
(29 answers)
Closed 9 years ago.
I've got a series of float numbers; I want to display them as they are;
but while I use String.getValueOf .0 will be added to my numbers
ie 10 is shows as 10.0
what should i do to prevent this mess ?
Try
if(stringVariable.endsWith(".0")) stringVariable = stringVariable.replace(".0" , "");
This way it will remove .0 only if the string ends with .0
Hope this helps.
You can change from float to int using Math.round()
using something like sprintf would do it
String.format("%.0f", value);

Android - Round to 2 decimal places [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Round a double to 2 significant figures after decimal point
I know that there are plenty of examples on how to round this kind numbers.
But could someone show me how to round double, to get value that I can display as a
String and ALWAYS have 2 decimal places?
You can use String.format("%.2f", d), your double will be rounded automatically.
One easy way to do it:
Double d;
Int i;
D+=0.005;
i=d*100;
Double b = i/100;
String s = b.toString():

Categories

Resources