COBOL言語の関数「NUMVAL」について理解しよう!|用語辞典
COBOL(コボル)言語の予約語NUMVALを使った数字型への変換とは
COBOL(コボル)言語のNUMVAL関数とは?
COBOL(コボル)の組込み関数であるNUMVAL関数は、英数字型の数値データを数字型に変換したい場合に使用します。COBOL言語には基本項目として、英字項目、数字項目、英数字項目、日本語項目があり、それぞれ用途に合わせて区別して項目定義を行う必要があります。文字列編集等が中心になるCOBOL言語では、通常、英数字項目で項目定義する事が多いですが、演算が必要な場合には数字型を用いる必要があります。今回ご紹介するNUMVAL関数は英数字型で定義した項目に対して演算を行いたい場合に活用できます。では早速COBOL言語での使い方について見ていきましょう。
書き方(NUMVAL関数):
FUNCTION NUMVAL(引数1)
・関数の型:数字型
・引数1:数字型に変換する文字定数または英数字型の項目を指定します。合計桁数は18桁以下とする必要があります。
・戻り値:引数1が表す最大18桁の数値です。
使用例:
実行結果:
NUMVAL関数のCOBOL(コボル)言語における基本事項やルールについて
1.「NUMVAL」の間の空白や改行は、自由に設定できます。
2.組込み関数の前には予約語「FUNCTION」を指定する必要があります。
3.引数1は英数字または英数字の定数かつ、18桁以下である必要があります。
COBOL(コボル)言語のNUMVAL関数を扱う上での注意点
COBOL言語のNUMVAL関数は、引数として文字定数、英数字型項目が使用できますが、コンマ付きであったり、通貨記号が含まれている場合に使用すると、処理実行時にエラーになりますので注意ください。コンマや通貨記号が含まれている場合には、代わりにNUMVAL-C関数を使用するようにしましょう。NUMVAL-C関数では、コンマは無視され、通貨記号なども含めて数値型に変換してくれます。
また、日本語定数や日本語項目の全角文字については、第4次規格準拠の処理系を用いないと指定はできませんので合わせて注意しましょう。
NUMVAL関数を使ったCOBOL(コボル)プログラムの活用法
NUMVAL関数は、先ほどご紹介した通り英数字型の数値データを数字型に変換する関数でした。ここでは活用法として、変換先の数字型についていくつかのパターンを用意し、同じ値でも数字型の定義により結果が変わるという事を確認してみましょう。以下の例のパターンでは、符号なしの数字項目、符号付きの数字項目、符号付きの小数点付き数字項目を用意しました。実際に使用する際にはどのパターンで変換したら期待した値が求められるか考え、活用できるようになりましょう。また、NUMVAL関数は数字型になりますので、戻り値と演算を組み合わせる事もできます。例では、戻り値を10倍した値を画面に表示する処理も記載していますので、合わせて結果を確認して理解を深めましょう。
サンプルプログラム(NUMVAL2):
- IDENTIFICATION DIVISION.
- PROGRAM-ID. NUMVAL_SAMPLE2.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WK-MOJI.
- 03 WK-1 PIC X(10) VALUE "-123.45".
- 01 WK-SUJI.
- 03 WK-R1 PIC 9(18).
- 03 WK-R2 PIC S9(18).
- 03 WK-R3 PIC S9(16)V99.
- 03 WK-R4 PIC S9(16)V99.
- PROCEDURE DIVISION.
- COMPUTE WK-R1 = FUNCTION NUMVAL(WK-1).
- COMPUTE WK-R2 = FUNCTION NUMVAL(WK-1).
- COMPUTE WK-R3 = FUNCTION NUMVAL(WK-1).
- COMPUTE WK-R4 = FUNCTION NUMVAL(WK-1) * 10.
- DISPLAY " " WK-R1.
- DISPLAY WK-R2.
- DISPLAY WK-R3.
- DISPLAY WK-R4.
- STOP RUN.
実行結果(NUMVAL2):
今回ご紹介したNUMVALのサンプルプログラムは、英数字型の数値データを数字型に変換する関数でした。COBOL言語のプログラムは、文字列編集と演算処理が中心になりますので、今回ご紹介した型変換などはよく使用されます。是非この機会に一度サンプルプログラムを作成して機能の理解を深め、実際のプログラミングに活用いただければと思います。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典