1.1.10 Float
Floatは概数の数値フィールドで、浮動小数点数値データ(SignedやPackedなど固定小数点数値フィールドと対照的なデータ)を保管します。浮動小数点データは概数です。このフィールド・タイプの範囲内で、すべての値が正確に表されるわけではありません。Floatは、LANSAでは数字に分類されます。
Floatタイプのフィールドは算術演算式だけで使用することができます。コンポーネントやファンクションでFloatを表示することはできません。
Floatでは値を保管するためのバイト数を定義します。バイト数が大きくなるほど、数字の正確度は増します。4バイトのFloatは6桁以内であれば正確です。 8バイトのFloatは15桁以内であれば正確です。
次のテーブルはFloatで考えられる各バイト長の正確な長さの一覧です。正確な長さはSignedまたはPackedフィールドの実際の長さに相当すると考えることができます。考えられる実行時の小数点以下桁数もテーブルに示されています。
バイト数 |
正確な桁数(正確な長さ) |
考えられる小数点以下桁数 |
4 |
6 |
0 - 6 |
8 |
15 |
0 - 15 |
一般的な事柄については、「フィールド・タイプについて」を参照してください。
フィールド定義の規則
Floatフィールドをリポジトリに定義するときの規則は以下のとおりです。
長さ |
Float は4または8バイト長にすることができます。小数点以下桁数は必ずゼロにします。 |
有効なキーボード・シフト |
ブランク |
許容される属性 |
AB、 ASQN、CS、FE、ND、RA、RB、RL、RLTB |
編集オプション |
不可 |
デフォルト |
*NULL |
使用規則
区画タイプ |
|
ファイル |
Float はRDMLXファイルでのみ使用することができます。Floatは実フィールドとして使用することができます。Floatをキー・フィールドとして使用することはお勧めしません。 |
論理ビュー |
Float をキー・フィールドとして使用することはお勧めしません。 |
仮想フィールド |
Float は演算仮想フィールドで使用することができます。Floatはソース・フィールドとして使用することができます。 Floatはコード・フラグメントによる仮想フィールドで使用することができます。Float をサブストリング、連結、または日付仮想フィールドで使用してはいけません。 |
事前結合フィールド |
Float は数値事前結合フィールドに使用することができます。 |
RDML コマンド |
Floatタイプのフィールドは算術演算式だけで使用することができます。 例えば、DISPLAY、REQUEST、POP_UP、DEF_HEAD、DEF_FOOT、 DEF_BREAK、およびDEF_LINEは、Floatタイプのフィールドをサポートできません。Visual LANSAコンポーネントはFloatタイプのフィールドを表示するメカニズムはありません。 |
組込み関数 |
Float を組み込み関数で使用する場合、有効な引数のタイプは「N」です。 Float タイプのフィールドは、実行時に0から15桁の間のどこにでも小数点を持つことができるため、一般的にBIFの数値引数には不適切であると考えられています。実際の小数点位置を予測することが不可能なためです。 |
特殊値 |
*NULL、 *NAVAIL、*HIVAL、*LOVAL、*REMEMBERED_VALUE |
変換 |
Float からDateやTimeフィールドへ変換すること、またその逆の変換は誤りです。「フィールド・タイプ変換」を参照してください。 |
使用に関する注意事項
· ファンクションやコンポーネントで、作業フィールドはTYPE(*FLOAT)として定義することができます。長さの指定がない場合、デフォルトの8が仮定されます。
· Floatタイプのフィールドは算術演算式だけで使用することができます。Floatを算術演算式ではないコマンド・パラメータとして使用すると、FFCエラーになります。例えば、FloatをBEGIN_LOOPコマンドで使用することはできません。
· 一般的に、FloatsはBIFへの数値引数としては不適切なタイプだと考えられています。
· Float タイプは正確ではないため、Floatを用いて厳密な比較を行うことはお勧めしません。例えば、フィールドに保管された値やテーブルに保存された値と、フィールドに割り当てられた値は正確に一致しない場合があります。ただし、*ZEROや*SQLNULLとの比較は問題ありません。
プラットフォームについて
· プラットフォーム別の考慮事項については、「フィールド・タイプについて」を参照してください。
ヒントとテクニック
· 一般的にFloatは科学や工学のアプリケーションで使用されます。ビジネス・アプリケーションでの使用は一般的ではありません。
· LANSA では、Floatはその外部ファイルでの使用が基本的にサポートされていますが、ビジネス・アプリケーションでの使用はお勧めしません。
さらに、次のトピックも参照してください。