Formatting method results is crucial for presenting data in a readable and professional manner. Java offers multiple techniques to achieve precise output formatting.
graph TD
A[Output Formatting] --> B[printf()]
A --> C[String.format()]
A --> D[DecimalFormat]
A --> E[NumberFormat]
Technique |
Use Case |
Flexibility |
Performance |
printf() |
Simple formatting |
Medium |
High |
String.format() |
Complex string creation |
High |
Medium |
DecimalFormat |
Numeric precision |
Very High |
Low |
NumberFormat |
Locale-specific formatting |
High |
Medium |
public class PrintfFormattingDemo {
public static void main(String[] args) {
// Numeric formatting
System.out.printf("Integer: %d%n", 123);
System.out.printf("Floating point: %.2f%n", 3.14159);
// String and width formatting
System.out.printf("Padded string: %10s%n", "LabEx");
// Multiple arguments
System.out.printf("Name: %s, Age: %d%n", "John", 30);
}
}
public class StringFormatDemo {
public static String formatUserInfo(String name, double salary) {
return String.format("Employee: %s, Salary: $%.2f", name, salary);
}
public static void main(String[] args) {
String formattedInfo = formatUserInfo("Alice", 5000.75);
System.out.println(formattedInfo);
// Outputs: Employee: Alice, Salary: $5000.75
}
}
import java.text.DecimalFormat;
public class NumericFormattingDemo {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#,###.##");
double number = 1234567.89;
System.out.println(df.format(number));
// Outputs: 1,234,567.89
df = new DecimalFormat("000000.00");
System.out.println(df.format(number));
// Outputs: 001234567.89
}
}
import java.text.NumberFormat;
import java.util.Locale;
public class LocaleFormattingDemo {
public static void main(String[] args) {
double amount = 1234567.89;
NumberFormat usFormat = NumberFormat.getCurrencyInstance(Locale.US);
NumberFormat frFormat = NumberFormat.getCurrencyInstance(Locale.FRANCE);
System.out.println("US Currency: " + usFormat.format(amount));
System.out.println("French Currency: " + frFormat.format(amount));
}
}
Best Practices
- Choose the right formatting technique
- Be consistent in formatting approach
- Consider performance for large-scale formatting
- Handle potential formatting exceptions
- Use locale-aware formatting when necessary