Java Tutorial/Data Type/Decimal
Содержание
- 1 Change the decimal separator is set to "."
- 2 DecimalFormat("0E0")
- 3 DecimalFormat(")
- 4 DecimalFormat(")
- 5 DecimalFormat("00E00")
- 6 DecimalFormat("##E0") (exponent must be multiple of 2)
- 7 DecimalFormat("###E0") (exponent must be multiple of 3)
- 8 Display a currency value
- 9 Display a percentage
- 10 Display numbers in scientific notation
- 11 Display numbers with commas
- 12 Display numbers with leading zeroes
- 13 Force minimum number of digits to left and right of decimal point
- 14 new DecimalFormat("0")
- 15 new DecimalFormat("0.######E0")
- 16 new DecimalFormat(abc#)
- 17 Round number to fewer decimals
- 18 The number of #"s to the left of the decimal point sets the multiple of the exponent.
- 19 Use java.text.DecimalFormat to format integer
- 20 Use new DecimalFormat("0.#####E0") to format double
Change the decimal separator is set to "."
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class Main {
public static void main(String args[]) {
double d = 123456.7890;
DecimalFormat df = new DecimalFormat("#####0.00");
DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();
dfs.setDecimalSeparator(".");
df.setDecimalFormatSymbols(dfs);
System.out.println(df.format(d));
}
}
DecimalFormat("0E0")
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("0000000000E0");
String s = formatter.format(-1234.567); // -1234567000E-6
System.out.println(s);
}
}
DecimalFormat(")
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("00.00E0");
String s = formatter.format(-1234.567); // -12.35E2
System.out.println(s);
s = formatter.format(-.1234567); // -12.35E-2
System.out.println(s);
}
}
DecimalFormat(")
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("000E00");
String s = formatter.format(-1234.567); // -123E01
System.out.println(s);
}
}
DecimalFormat("00E00")
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("00E00");
String s = formatter.format(-1234.567);
System.out.println(s);
}
}
// -12E02
DecimalFormat("##E0") (exponent must be multiple of 2)
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("##E0");
String s = formatter.format(-1234.567);
System.out.println(s);
s = formatter.format(-123.4567);
System.out.println(s);
s = formatter.format(-12.34567);
System.out.println(s);
}
}
// -12E2
// -1.2E2
// -12E0
DecimalFormat("###E0") (exponent must be multiple of 3)
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) {
DecimalFormat formatter = new DecimalFormat("###E0");
String s = formatter.format(-1234.567); // -1.23E3
System.out.println(s);
s = formatter.format(-123.4567); // -123E0
System.out.println(s);
s = formatter.format(-12.34567); // -12.3E0
System.out.println(s);
s = formatter.format(-1.234567); // -12.3E0
System.out.println(s);
s = formatter.format(-.1234567); // -123E-3
System.out.println(s);
}
}
Display a currency value
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat df = new DecimalFormat("\u00a4#,##0.00");
System.out.println(df.format(4232.19));
System.out.println(df.format(-4232.19));
}
}
Display a percentage
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat df = new DecimalFormat("#%");
System.out.println(df.format(0.19));
System.out.println(df.format(-0.19));
}
}
/*19%
-19%
*/
Display numbers in scientific notation
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class Main {
public static void main(String args[]) {
NumberFormat formatter = new DecimalFormat();
int maxinteger = Integer.MAX_VALUE;
formatter = new DecimalFormat("0.######E0");
System.out.println(formatter.format(maxinteger));
}
}
//2.147484E9
Display numbers with commas
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
double d = 123456.7890;
DecimalFormat df = new DecimalFormat("#####0.00");
System.out.println(df.format(d));
}
}
//123456.79
Display numbers with leading zeroes
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
DecimalFormat df = new DecimalFormat("0000000000000000");
String z = df.format(123456);
System.out.println(z);
}
}
Force minimum number of digits to left and right of decimal point
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("0.0E0");
String s = formatter.format(-1234.567); // -1.2E3
System.out.println(s);
}
}
new DecimalFormat("0")
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
System.out.println(new DecimalFormat("000000E0").format(123123));
}
}
//123123E0
new DecimalFormat("0.######E0")
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
System.out.println(new DecimalFormat("0.######E0").format(12345));
}
}
//1.2345E4
new DecimalFormat(abc#)
import java.text.DecimalFormat;
import java.text.Format;
public class Main {
public static void main(String[] argv) throws Exception {
Format formatter = new DecimalFormat(""abc"#");
String s = formatter.format(-1234.567);
System.out.println(s);
}
}
// -abc1235
Round number to fewer decimals
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double numberToRound = 12345.6789;
DecimalFormat df = new DecimalFormat("0.000");
System.out.println("Rounded number = " + df.format(numberToRound));
System.out.println(String.format("Rounded number = %.3f", numberToRound));
}
}
/*
Rounded number = 12345.679
Rounded number = 12345.679
*/
The number of #"s to the left of the decimal point sets the multiple of the exponent.
import java.text.DecimalFormat;
public class Main {
public static void main(String[] argv) throws Exception {
DecimalFormat formatter = new DecimalFormat("#E0"); // exponent can be any
// value
String s = formatter.format(-1234.567);
System.out.println(s);
s = formatter.format(-.1234567);
System.out.println(s);
}
}
//-.1E4
//-.1E0
Use java.text.DecimalFormat to format integer
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
System.out.println(new DecimalFormat("0.#####E0").format(123456));
}
}
//1.23456E5
Use new DecimalFormat("0.#####E0") to format double
import java.text.DecimalFormat;
public class Main {
public static void main(String args[]) {
double d = 0.12345;
System.out.println(new DecimalFormat("0.#####E0").format(d));
}
}
//1.2345E-1