logo

Java 出力のフォーマット

プログラムの出力を特定の形式で印刷したい場合があります。 C プログラミング言語では、printf() 関数を使用してこれが可能です。このセクションでは、さまざまな出力形式について説明します。

Java で出力をフォーマットする方法について説明します。

Java で出力をフォーマットするために使用できる方法は 2 つあります。

コンピューター作業
  • printf( ) メソッドの使用
  • format( ) メソッドの使用

System.out.printf( ) メソッドを使用した出力のフォーマット

このメソッドの実装は、C プログラミングの printf() 関数に似ているため、非常に簡単です。

FormattedOutput1.java

 public class FormattedOutput1 { public static void main( String args[ ] ) { // printing the string value on the console String str = ' JavaTpoint ' ; System.out.printf( ' 
 Printing the String value : %s 
 ', str ) ; // printing the integer value on the console int x = 512 ; System.out.printf( ' 
 Printing the integer value : x = %d 
 ', x ) ; // printing the decimal value on the console float f = 5.25412368f ; System.out.printf( ' 
 Printing the decimal value : %f 
 ', f ) ; // this formatting is used to specify the width un to which the digits can extend System.out.printf( ' 
 Formatting the output to specific width : n = %.4f 
 ', f ) ; // this formatting will print it up to 2 decimal places System.out.printf( ' 
 Formatted the output with precision : PI = %.2f 
 ', f ) ; // here number is formatted from right margin and occupies a width of 20 characters System.out.printf( ' 
 Formatted to right margin : n = %20.4f 
 ', f ) ; } } 

出力:

 Printing the String value : JavaTpoint Printing the integer value : x = 512 Printing the decimal value : 5.254124 Formatting the output to specific width : n = 5.2541 Formatted the output with precision : PI = 5.25 Formatted to right margin : n = 5.2541 

System.out.format( ) は printf( ) と同等であり、使用することもできます。

注意すべき重要な点は、System.out.print( ) と System.out.println( ) は 1 つの引数を受け取りますが、 printf( ) メソッドは複数の引数を受け入れることができるということです。

Javaスタック

DecimalFormat クラスを使用した書式設定:

DecimalFormat は、10 進数の形式を設定するために使用されます。

FormattedOutput2.java

 import java.text.DecimalFormat ; // definition of the class public class FormattedOutput2 { public static void main( String args[ ] ) { double x = 123.4567 ; // printing the number System.out.printf( ' 
 The number is : %f 
 ', x ) ; // printing only the numeric part of the floating number DecimalFormat ft = new DecimalFormat( ' #### ' ) ; System.out.println( ' 
 Without fraction part the number is : ' + ft.format( x ) ) ; // printing the number only upto 2 decimal places ft = new DecimalFormat( ' #.## ' ) ; System.out.println( ' 
 Formatted number with the specified precision is = ' + ft.format( x ) ) ; // automatically appends zero to the rightmost part of decimal, instead of #, we use digit 0 ft = new DecimalFormat( ' #.000000 ' ) ; System.out.println( ' 
 Appending the zeroes to the right of the number = ' + ft.format( x ) ) ; // automatically appends zero to the leftmost of decimal number instead of #, we use digit 0 ft = new DecimalFormat( ' 00000.00 ' ) ; System.out.println( ' 
 Appending the zeroes to the left of the number = '+ ft.format( x ) ) ; // formatting money in dollars double income = 550000.789 ; ft = new DecimalFormat( ' $###,###.## ' ) ; System.out.println( ' 
 Your Formatted Income in Dollars : ' + ft.format( income ) ) ; } } 

出力:

 The number is : 123.456700 Without fraction part the number is : 123 Formatted number with the specified precision is = 123.46 Appending the zeroes to the right of the number = 123.456700 Appending the zeroes to the left of the number = 00123.46 Your Formatted Income in Dollars : 0,000.79 

Java 文字列形式指定子

ここでは、Java String でサポートされている形式指定子の表を提供します。

Excelの最初の文字を削除する
フォーマット指定子 データ・タイプ 出力
%a 浮動小数点 (BigDecima l を除く) 浮動小数点数の 16 進出力を返します。
%b いかなるタイプ null 以外の場合は ' true '、null の場合は ' false '
%c キャラクター Unicode 文字
%d 整数 ( byte、short、int、long、bigint を含む) 10 進整数
%そうです 浮動小数点 科学表記法における 10 進数
%f 浮動小数点 10進数
%g 浮動小数点 10 進数。精度と値によっては科学表記法が使用される場合があります。
%h いかなるタイプ hashCode() メソッドからの値の 16 進文字列。
%n なし プラットフォーム固有の行区切り文字。
%O 整数 ( byte、short、int、long、bigint を含む) 8 進数
%s いかなるタイプ 文字列値
%t 日付/時刻 (long、Calendar、Date、TemporalAccessor を含む) %t は日付/時刻変換のプレフィックスです。この後、さらに書式設定フラグが必要になります。以下の日付/時刻変換を参照してください。
%バツ 整数 ( byte、short、int、long、bigint を含む) 16 進文字列。