Num

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 11 (Modified)


Num (expression; separator) 数値

引数説明
expression文字列 | ブール | Num数値型を返したい文字列、または
0または1を返したいブール、または
数値式
separator文字列小数区切り
戻り値数値式引数の数値型

説明

Numコマンドは、expressionに渡した文字列、ブール、または数値式の数値型を返します。文字型の式を評価するために、オプションのseparator引数で小数区切り文字を指定できます。

文字列式 

expressionが1つ以上のアルファベット文字からのみ構成される場合、Numは0を返します。expressionがアルファベット文字と数字を含む場合、Numはアルファベット文字を無視します。従って、Numは文字列"a1b2c3" を数値123に変換します。

Note: expressionの最初の32文字だけが評価されます。

Numが特別に扱う3つの指定された文字があります。(separator 引数が渡されていない場合) システムで定義された小数区切り文字、ハイフン"-" および "e"または"E" です。これらの文字は、数値表現のフォーマット文字として解釈されます。

・小数区切りは小数点の位置として解釈され、数値文字列に埋め込まれていなければなりません。デフォルトでコマンドは、オペレーティングシステムに設定された小数区切りを使用します。separator引数を使用して、この文字を変更できます (以下参照) 。

・ハイフンは、数値や指数が負であることを意味します。ハイフンは負の数字文字列の前、または指数の場合“e”の後ろになければなりません。“e”をのぞきハイフンが数字の間にあると、それ以降の文字列は無視されます。例えば、Num("123-456")は123に、しかしNum("-9")は-9になります。

・eまたはEがあると、その右側の数字をすべて指数として解釈します。eは数字の文字列の間に置かなければなりません。Num("123e-2")は1.23になります。

文字列に“e”を含んでいる場合、MacとWindowsで異なる結果になる可能性があるので注意してください。

separator引数を使用して、expressionを評価するために使用するカスタム小数区切りを指定できます。評価される文字列が、システム演算子とは異なる小数区切りで表現されていると、コマンドは誤った結果を返します。この場合、separator引数を使用して正しい評価を取得できます。この引数が渡された場合、コマンドはこのシステム小数区切りを無視します。1つ以上の文字を渡すことができます。

Note: GET SYSTEM FORMATコマンドを使用して、カレント小数区切りおよびその他の特定のシステム引数を調べることができます。

ブール式

ブール式を渡した場合、Numは、式がTrueの場合1を返し、そうでなければ0を返します。

数値式

数値式をexpression引数に渡した場合、Numexpression引数に渡された値をそのまま返します。これはポインタを使用するような汎用プログラミングで有効です。

例題

1. 文字引数を渡した場合のNumの使用例を次に示します。結果を変数vResultに代入します。コメントは、変数vResultに代入される値についての説明です:

   vResult := Num ("ABCD")  ` vResultは0 
   vResult := Num ("A1B2C3")  ` vResultは123 
   vResult := Num ("123")  ` vResultは123 
   vResult := Num ("123.4")  ` vResultは123.4
   vResult := Num ("-123")  ` vResultは -123 
   vResult := Num ("-123e2")  ` vResultは -12300

2. 以下の例は、 [Client]Debtを$1000と比較します。この比較に適用されるNumコマンドからは1または0が返されます。文字列に1や0を乗算するとその文字または空の文字が返されます。結果、[Client]Riskには"良い"または"悪い"が返されます。

      `顧客の負債額が、1000より小さいは「良い」
      `顧客の節額が、1000以上は「悪い」
   [Client]Risk:=("良い"*Num ([Client]Debt<1000))+("悪い"*Num([Client]Debt>=1000))

3. この例は現在の小数区切りにより取得される結果を比較します:

   $thestring:="33,333.33"
   $thenum:=Num($thestring)
      `フランスのシスムでは、$thenumは、デフォルトで33,33333と等しい。
   $thenum:=Num($thestring;".")
      `シスムに関係なく、$thenum は正確に評価されます。
       `例えば、フランスのシスムでも 33 333,33となります。

参照

GET SYSTEM FORMAT, String, 文字列演算子, 論理演算子.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次