説明
ToNumber は、数値型の値、通貨型の値、テキスト文字列、または論理値を数値に変換します。
引数
文字列には、数値を表すテキスト文字列を指定します。
アクション
ToNumber は、数値型の値、通貨型の値、テキスト文字列、または論理値を数値に変換します。
データベースの数値は、数値フィールドに数値として格納されている場合と、文字フィールドにテキストとして格納されている場合があります。最初にデータベースを設定する際に、どの数値を数値フィールドに格納し、どの数値をテキスト フィールドに格納するかを決定します。算術演算の対象となる数値(商品価格、注文量など)は、一般に、数値フィールドに格納します。算術演算の対象にならない数値(顧客番号、電話番号など)は、一般に、テキスト オブジェクトに格納します。
ToNumber を使用すると、テキストとして格納されている数値から、算術演算に使用できる数値を得ることができます。
論理値型の引数を使用すると、SQL_BIT データ値を数値であるかのように扱うことができます。
用途
この関数は、たとえば、コード化された製品情報が商品番号に含まれており、その情報を計算に利用する場合などに使用します。この関数は、通貨値または数字だけを保持する文字列値を数値に変換するためよく使用されます。
例
ToNumber({orders.ORDER AMOUNT})通貨フィールド{Orders.受注額}に含まれる数値型の値を返します。
ToNumber("123.45")123.45 を返します。
ToNumber({file.REFERENCE}){file.リファレンス}フィールドのテキスト文字列が 200 の場合は、200.00 が返されます。
ToNumber({file.ACCTNO}/2){file.ACCTNO}= 44288 の場合は、22144 が返されます。
ToNumber({customer.POSTAL CODE}) < 33333{customer.郵便番号}が 21385 の場合は、TRUE が返されます。
コメント
ToNumber 関数を使用する場合は、最初に NumericText 関数を使用して、値をテストしてください。NumericText は、文字列の値が正しく数値に変換できる場合にだけ TRUE を返します。数値に変換できない値を数値に変換しようとすると、レポートの式でエラーが発生します。
たとえば、Crystal 構文では、次のように ToNumber 関数を NumericText 関数と共に使用します。
If NumericText ({file.FIELD}) Then
ToNumber ({file.FIELD})
Else
0