truncate (マクロ)
パッケージ: CURL.LANGUAGE.COMPILER

2 つの値の商を整数値に切り捨てたものと、対応する端数を計算します。最も簡単な形式では、単に値を切り捨てます。

シグネチャ

{truncate dividend, divisor}:(quotient, remainder)
dividend: 割り算の元の値。これは、整数、浮動小数点、Decimal、または数量値として評価する式の場合もあります。
divisor:
dividend の除数です。これは、整数、浮動小数点、Decimal、または数量値として評価される式を指定できます。
divisor は省略可能です。その場合は 1 が適用されます。使用された引数の型により、quotient の型は dividend の型と同じになります。

戻り値

最初の戻り値は quotient で、これは dividenddivisor で割った値を切り捨てた結果として定義されます。

2 番目の戻り値は remainder で、これは dividend から quotientdivisor の積を差し引いた値として定義されます。

quotient の型は、dividend div divisor の型と同じです。

remainder の型は quotient の型と同じですが、dividend が数量の場合は remainderdividend と同じ単位になります。

説明

片方の引数が数量の場合、両方の引数が同じ単位を持つことが必要です。そうでないと例外がスローされます。
両方の引数が整数型で、divisor がゼロの場合は、例外がスローされます。また、どちらか一方の引数が Decimal型 で、divisor がゼロの場合も同様に例外がスローされます。
floorceiling、および round も参照してください。


例: 多様な値と truncate の使用
{text
    {br} {truncate 3.9}
    {br} {truncate 3.5}
    {br} {truncate 3.1}
    {br} {truncate -3.1}
    {br} {truncate -3.5}
    {br} {truncate -3.9}
    {br} {truncate 8.1, 2}
    {br} {truncate 8.1m, 2m}
    {br} {truncate 3hours, 7minutes}
    {br} {truncate 12cm, 6cm}
    {br} {value {truncate 12cm / 1cm, 6} * 1cm}
}
|| using truncate with quantities
{value
    || Convert a height in meters to feet and inches
    let height:Distance = 2.0meters
    let (feet:double, inches:Distance) = {truncate height, 1ft}
    {text {br}In {value height} there are {value feet} feet 
        and {format "%.1f", inches/1in} inches.}
}