Рубрики

Форматированный вывод в Java

Иногда в конкурентном программировании важно напечатать вывод в заданном указанном формате. Большинство пользователей знакомы с функцией printf в C. Давайте посмотрим, как мы можем отформатировать вывод в Java:

Форматирование вывода с использованием System.out.printf ()

Это самый простой из всех методов, так как он похож на printf в C. Обратите внимание, что System.out.print () и System.out.println () принимают один аргумент, но printf () может принимать несколько аргументов.

// Java-программа для демонстрации работы printf () в Java

class JavaFormatter1

{

  public static void main(String args[])

  {

    int x = 100;

    System.out.printf("Printing simple integer: x = %d\n", x);

  

    // это напечатает до 2 десятичных знаков

    System.out.printf("Formatted with precison: PI = %.2f\n", Math.PI);

  

    float n = 5.2f;

  

    // автоматически добавляет ноль к крайней правой части десятичного числа

    System.out.printf("Formatted to specific width: n = %.4f\n", n);

  

    n = 2324435.3f;

  

    // здесь число отформатировано с правого поля и занимает

    // ширина 20 символов

    System.out.printf("Formatted to right margin: n = %20.4f\n", n);

  }

}

Выход:

Printing simple integer: x = 100
Formatted with precison: PI = 3.14
Formatted to specific width: n = 5.2000
Formatted to right margin: n =         2324435.2500

System.out.format () эквивалентен printf () и также может использоваться.

Форматирование с использованием класса DecimalFormat:

DecimalFormat используется для форматирования десятичных чисел.

// Java-программа для демонстрации работы DecimalFormat

import java.text.DecimalFormat;

  

class JavaFormatter2

{

  public static void main(String args[])

  {

    double num = 123.4567;

  

    // печатает только числовую часть плавающего числа

    DecimalFormat ft = new DecimalFormat("####");

    System.out.println("Without fraction part: num = " + ft.format(num));

  

    // это напечатает до 2 десятичных знаков

    ft = new DecimalFormat("#.##");

    System.out.println("Formatted to Give precison: num = " + ft.format(num));

  

    // автоматически добавляет ноль к крайней правой части десятичного числа

    // вместо # мы используем цифру 0

    ft = new DecimalFormat("#.000000");

    System.out.println("appended zeroes to right: num = " + ft.format(num));

  

    // автоматически добавляет ноль к крайнему левому числу десятичного числа

    // вместо # мы используем цифру 0

    ft = new DecimalFormat("00000.00");

    System.out.println("formatting Numeric part : num = "+ft.format(num));

  

    // форматирование денег в долларах

    double income = 23456.789;

    ft = new DecimalFormat("$###,###.##");

    System.out.println("your Formatted Dream Income : " + ft.format(income));

  }

}

Выход:

Without fraction part: num = 123
Formatted to Give precison: num = 123.46
appended zeroes to right: num = 123.456700
formatting Numeric part : num = 00123.46
your Formatted Dream Income : $23,456.79

Форматирование дат и разбор с использованием класса SimpleDateFormat:

Этот класс присутствует в пакете java.text.

// Java-программа для демонстрации работы SimpleDateFormat

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

  

class Formatter3

{

  public static void main(String args[]) throws ParseException

  {

    // Форматирование согласно заданному шаблону в аргументе

    SimpleDateFormat ft = new SimpleDateFormat("dd-MM-yyyy");

    String str = ft.format(new Date());

    System.out.println("Formatted Date : " + str);

  

    // парсинг заданной строки

    str = "02/18/1995";

    ft = new SimpleDateFormat("MM/dd/yyyy");

    Date date = ft.parse(str);

  

    // это напечатает дату в соответствии с проанализированной строкой

    System.out.println("Parsed Date : " + date);

  }

}

Выход:

Formatted Date : 09-08-2018
Parsed Date : Sat Feb 18 00:00:00 UTC 1995

Ссылки:
https://docs.oracle.com/ javase / tutorial / essential / io / formatting.html
https://docs.oracle.com/ javase / tutorial / java / data / numberformat.html
http://docs.oracle.com/javase/ 6 / docs / api / java / text / SimpleDateFormat.html

Эта статья предоставлена Панкаджем Кумаром . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Форматированный вывод в Java

0.00 (0%) 0 votes