Show only two digit after decimal

JavaAndroidNumber Formatting

Java 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionURAndroidView Question on Stackoverflow
Solution 1 - JavaSubhrajyoti MajumderView Answer on Stackoverflow
Solution 2 - JavadumazyView Answer on Stackoverflow
Solution 3 - JavaPir Fahim ShahView Answer on Stackoverflow
Solution 4 - JavaPrashant GView Answer on Stackoverflow
Solution 5 - JavaSergii StotskyiView Answer on Stackoverflow
Solution 6 - JavaMACView Answer on Stackoverflow
Solution 7 - JavaDamian Leszczyński - VashView Answer on Stackoverflow