Show only two digit after decimal
JavaAndroidNumber FormattingJava Problem Overview
How to get the double value that is only two digit after decimal point.
for example
if
i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
this code generating 5.81403333
.
But I want only 5.81
.
So what shoud I do?
Java Solutions
Solution 1 - Java
Use DecimalFormat.
> DecimalFormat is a concrete subclass of NumberFormat that formats > decimal numbers. It has a variety of features designed to make it > possible to parse and format numbers in any locale, including support > for Western, Arabic, and Indic digits. It also supports different > kinds of numbers, including integers (123), fixed-point numbers > (123.4), scientific notation (1.23E4), percentages (12%), and currency > amounts ($123). All of these can be localized.
Code snippet -
double i2=i/60000;
tv.setText(new DecimalFormat("##.##").format(i2));
Output -
> 5.81
Solution 2 - Java
How about String.format("%.2f", i2)
?
Solution 3 - Java
Here i will demonstrate you that how to make your decimal number short. Here i am going to make it short upto 4 value after decimal.
double value = 12.3457652133
value =Double.parseDouble(new DecimalFormat("##.####").format(value));
Solution 4 - Java
Many other answers only do formatting. This approach will return value instead of only print format.
double number1 = 10.123456;
double number2 = (int)(Math.round(number1 * 100))/100.0;
System.out.println(number2);
Solution 5 - Java
I think the best and simplest solution is (KISS):
double i = 348842;
double i2 = i/60000;
float k = (float) Math.round(i2 * 100) / 100;
Solution 6 - Java
i=348842.
double i2=i/60000;
DecimalFormat dtime = new DecimalFormat("#.##");
i2= Double.valueOf(dtime.format(time));
v.setText(String.valueOf(i2));
Solution 7 - Java
First thing that should pop in a developer head while formatting a number into char sequence should be care of such details like do it will be possible to reverse the operation.
And other aspect is providing proper result. So you want to truncate the number or round it.
So before you start you should ask your self, am i interested on the value or not.
To achieve your goal you have multiple options but most of them refer to Format and Formatter, but i just suggest to look in this answer.