C の %G 書式指定子
 
この記事では、C プログラミング言語を使用して、書式指定子 %g について学習します。
C プログラミング言語の書式指定子
書式指定子は、C で使用できる特別な種類の文字列または演算子にすぎません。これらは、ユーザーからの入力を収集し、コンソール用の情報を生成するときによく使用されます。
それらの目標は、入力または生成される情報のデータ型をコンパイラに示すことです。 データ型について話すときは、整数、文字列、浮動小数点数などを意味します。
独自のフォーマット指定子のセットを持たない単一のデータ型はありません。 % 記号は常に書式指定子の最初の文字であり、その後に他の文字列が続きます。
これらは、C プログラミング言語で、入力用の scanf と出力用の printf で使用されます。 以下は、C プログラミング言語で使用されるフォーマット指定子の一部です。
| フォーマット指定子 | 説明 | 
|---|---|
| %g | %eまたは%Eと同様 | 
| %f | 浮動小数点書式指定子 | 
| %c | 文字書式指定子 | 
| %s | 文字列書式指定子 | 
| %e | フロートの科学表記法 | 
| %d | 整数フォーマット指定子 | 
| %x | 16 進表現 | 
C の %g フォーマット指定子
これは、10 進浮動小数点数を出力するための固定精度標準を使用し、その目的で使用されます。 C プログラミング言語では、C の double および float データ型に格納される 10 進数のデータを操作するときに、%g フォーマット指定子が使用されます。
%g は、%f (単純な float または double) または %e (科学表記法) のいずれかで表される数値を取り、2つの短い形式で数値を返します。
次の例では、firstValue, secondValue,、および thirdValue, と呼ばれる double データ型の 3つの値を取得し、表記法 %g および %G を使用してこれらの値を 1つずつ出力します。 .
コード例:
#include <stdio.h>
int main() {
  double firstValue = 123.45;
  printf("Printing 123.45 using %%g %g\n", firstValue);
  printf("Printing 123.45 using %%G %G\n\n", firstValue);
  double secondValue = 123.45e8;
  printf("Printing 123.45e8 using %%g %g\n", secondValue);
  printf("Printing 123.45e8 using %%G %G\n\n", secondValue);
  double thirdValue = 123.45e-8;
  printf("Printing 123.45e-8 using %%g %g\n", thirdValue);
  printf("Printing 123.45e-8 using %%G %G\n", thirdValue);
  return 0;
}
出力:
Printing 123.45 using %g 123.45
Printing 123.45 using %G 123.45
Printing 123.45e8 using %g 1.2345e+10
Printing 123.45e8 using %G 1.2345E+10
Printing 123.45e-8 using %g 1.2345e-06
Printing 123.45e-8 using %G 1.2345E-06
I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.
LinkedIn