C400

140. 小数点を伴う数字の編集

C言語ではRPGのように型intでは小数部分は持っていないので
double にキャストして自分で小数の部分を割り算してやる
必要がある。

編集出力は

“%(全体の長さ) .(小数以下の長さ)f”

という書式で出力する必要がある。
例えば1200.35を出力するのであれば1200.35は
全体の長さは6桁で小数部分は2桁であるので

“%6.2”

という書式で出力する。またintは小数は持たないので

(double)suryo/100 という演算も必要となる。

[TESTHNS: 小数点を出力するサンプル・ソース]

ソースはこちらから

0001.00 #include                                              
0002.00 #include                                             
0003.00 #include                                             
0004.00                                                                
0005.00 #define TRUE         0                                         
0006.00 #define FALSE       -1                                         
0007.00                                                                
0008.00 void main(void){                                               
0009.00    int suryo;                                                  
0010.00                                                                
0011.00    printf("** TESTHNS:  小数点の編集 **n");                   
0012.00    getchar();                                                  
0013.00                                                                
0014.00    suryo = 120035;                                             
0015.00    printf("[%d] SURYO = %6.2fn", __LINE__, (double)suryo/100);
0016.00    getchar();                                                  
0017.00 }  

                                                            

[コンパイル]

CRTBNDC PGM(OBJLIB/TESTHNS) SRCFILE(R610SRC/QCSRC2) AUT(*ALL)

[実行結果]

   実行キーを押して端末セッションを終了してください 
  ** TESTHNS:  小数点の編集 **                      
>                                                   
  [15] SURYO = 1200.35