Tips

整数と小数を実数に変換するメソッド

日付2009/06/26
ID75769 (英語原文参照)
バージョン11.4
プラットフォームMac & Win

4DのコマンドIntとDecは、それぞれ整数と小数を実数から取り出すことができます。では、その反対はどのようにすれば良いでしょうか。ひとつには、元のデータをテキストで受け取る方法が考えられます。特に小数部分がゼロで始まる場合にこれは有用です。

C_TEXT($integerPart; $decimalPart; $stringNumber)
C_REAL($realNumber)
C_INTEGER($power)

$integerPart:="-0"
$decimalPart:="0000123"

$power:=Length($decimalPart)
$stringNumber:=$integerPart + $decimalPart
$realNumber:=Num($stringNumber)*(10^-$power)

コマンドを実行すると$realNumberの値は-0.0000123になります。ちなみにこのメソッドは小数点がピリオド(米国)とカンマ(欧州)のどちらであっても動作します。文字列は整数の除算によって作成されているので、この違いはOSが吸収してくれるからです。

参考まで整数で値を受け取る場合も掲載します。この方法では、ゼロで始まる小数部分は扱うことができません。

C_LONGINT($integerPart; $decimalPart)
C_TEXT($stringIntPart; $stringDecPart)

$integerPart:=5
$decimalPart:=123

$stringIntPart:=String($integerPart)
$stringDecPart:=String($decimalPart)

文字列を作成した後は最初の例題と同じ処理で実数に変換することができます。