4D v14.3Num |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Num
|
Num ( expression {; separator} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
expression | 文字, ブール, 倍長整数 |
![]() |
数値型を返したい文字列、または 0または1を返したいブール、または 数値式 | |||||
separator | 文字 |
![]() |
小数区切り | |||||
戻り値 | 倍長整数 |
![]() |
式引数の数値型 | |||||
Numコマンドは、expressionに渡した文字列、ブール、または数値式の数値型を返します。文字型の式を評価するために、オプションのseparator引数で小数区切り文字を指定できます。
文字列式
expressionが1つ以上のアルファベット文字からのみ構成される場合、Numは0を返します。expressionがアルファベット文字と数字を含む場合、Numはアルファベット文字を無視します。従って、Numは文字列"a1b2c3" を数値123に変換します。
Numが特別に扱う3つの指定された文字があります。(separator 引数が渡されていない場合) システムで定義された小数区切り文字、ハイフン"-" および "e"または"E" です。これらの文字は、数値表現のフォーマット文字として解釈されます。文字列に“e”を含んでいる場合、MacとWindowsで異なる結果になる可能性があるので注意してください。
separator引数を使用して、expressionを評価するために使用するカスタム小数区切りを指定できます。評価される文字列が、システム演算子とは異なる小数区切りで表現されていると、コマンドは誤った結果を返します。この場合、separator引数を使用して正しい評価を取得できます。この引数が渡された場合、コマンドはこのシステム小数区切りを無視します。1つ以上の文字を渡すことができます。
Note: GET SYSTEM FORMATコマンドを使用して、カレント小数区切りおよびその他の特定のシステム引数を調べることができます。
ブール式
ブール式を渡した場合、Numは、式がTrueの場合1を返し、そうでなければ0を返します。
数値式
数値式をexpression引数に渡した場合、Numはexpression引数に渡された値をそのまま返します。これはポインタを使用するような汎用プログラミングで有効です。
文字引数を渡した場合の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
以下の例は、 [Client]Debtを$1000と比較します。この比較に適用されるNumコマンドからは1または0が返されます。文字列に1や0を乗算するとその文字または空の文字が返されます。結果、[Client]Riskには"良い"または"悪い"が返されます。
`顧客の負債額が、1000より小さいは「良い」
`顧客の節額が、1000以上は「悪い」
[Client]Risk:=("良い"*Num([Client]Debt<1000))+("悪い"*Num([Client]Debt>=1000))
この例は現在の小数区切りにより取得される結果を比較します:
$thestring:="33,333.33"
$thenum:=Num($thestring)
`フランスのシステムでは、$thenumは、デフォルトで33,33333と等しい。
$thenum:=Num($thestring;".")
`システムに関係なく、$thenum は正確に評価されます。
`例えば、フランスのシステムでも 33 333,33となります。
プロダクト: 4D
テーマ: 文字列
番号:
11
変更: 4D v11 SQL
GET SYSTEM FORMAT
String
文字列演算子
論理演算子
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)