Skip to content

API CLng ja

Codex edited this page Sep 23, 2026 · 1 revision

CLng

ClassicUO / Basic IDE

Home · API · Basic

計算した待機時間やアイテム数の上限などを整数に丸めます。

正確な構文

CLng(value:Any) -> Integer

パラメーター

  • value — 必須の Integer/Decimal または数値 String 一つ。文字列は言語に関係なく小数点と任意の指数を使います。ここで "0x0EED" は数値文字列ではありません。不正な文字列、Array、Object、Unit は 0 になります。入力を IsNumeric で確認してください。

戻り値

符号付き 32 ビット Integer。ちょうど半分はゼロから離れる方向に丸め、2.5 -> 3、-2.5 -> -3 です。CInt と CLng は同じ実装で、CLng も 64 ビットにはなりません。有限値を使い、丸めた結果を -2147483648..2147483647 に収めてください。Boolean ではありません。

動作

  • ローカル計算で、パケット、ターゲット、ゲーム動作は発生しません。BasicDouble が数値文字列を言語に依存せず解析します。本エンジンの規則は VB.NET と完全には同じではありません。Decimal は double を格納し、CInt/CLng は中点をゼロから離す方向へ丸めます。

内部関数:呼び出しから結果まで

ローカル計算で、パケット、ターゲット、ゲーム動作は発生しません。BasicDouble が数値文字列を言語に依存せず解析します。本エンジンの規則は VB.NET と完全には同じではありません。Decimal は double を格納し、CInt/CLng は中点をゼロから離す方向へ丸めます。

1. BasicDouble

必須の Integer/Decimal または数値 String 一つ。文字列は言語に関係なく小数点と任意の指数を使います。ここで "0x0EED" は数値文字列ではありません。不正な文字列、Array、Object、Unit は 0 になります。入力を IsNumeric で確認してください。

Decimal / double

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 関数 BasicDouble.

2. Register

計算した待機時間やアイテム数の上限などを整数に丸めます。

符号付き 32 ビット Integer。ちょうど半分はゼロから離れる方向に丸め、2.5 -> 3、-2.5 -> -3 です。CInt と CLng は同じ実装で、CLng も 64 ビットにはなりません。有限値を使い、丸めた結果を -2147483648..2147483647 に収めてください。Boolean ではありません。

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 関数 Register.

使用例

CLng — 1

# CLng1
#
# 計算した待機時間やアイテム数の上限などを整数に丸めます#
# 符号付き 32 ビット Integerちょうど半分はゼロから離れる方向に丸め2.5 -> 3-2.5 -> -3 ですCInt  CLng は同じ実装でCLng  64
# ビットにはなりません有限値を使い丸めた結果を -2147483648..2147483647 に収めてくださいBoolean ではありませんSUB Main()
    # value=2.5Main はゼロから離す丸めで Integer 3 を返し偶数丸めの 2 にはなりませんRETURN CLng(2.5)
END SUB

パラメーターと実行の説明:

  • value=2.5。Main はゼロから離す丸めで Integer 3 を返し、偶数丸めの 2 にはなりません。

CLng — 2

# CLng2
#
# 計算した待機時間やアイテム数の上限などを整数に丸めます#
# 符号付き 32 ビット Integerちょうど半分はゼロから離れる方向に丸め2.5 -> 3-2.5 -> -3 ですCInt  CLng は同じ実装でCLng  64
# ビットにはなりません有限値を使い丸めた結果を -2147483648..2147483647 に収めてくださいBoolean ではありませんSUB Main()
    # offset=-2.5 は符号付き座標差ですMain  -3 を返します計算するだけでキャラクターは移動しませんVAR offset = -2.5
    RETURN CLng(offset)
END SUB

パラメーターと実行の説明:

  • offset=-2.5 は符号付き座標差です。Main は -3 を返します。計算するだけでキャラクターは移動しません。

CLng — 3

# CLng3
#
# 計算した待機時間やアイテム数の上限などを整数に丸めます#
# 符号付き 32 ビット Integerちょうど半分はゼロから離れる方向に丸め2.5 -> 3-2.5 -> -3 ですCInt  CLng は同じ実装でCLng  64
# ビットにはなりません有限値を使い丸めた結果を -2147483648..2147483647 に収めてくださいBoolean ではありませんSUB Main()
    # ReadDelay  secondsText="0.35" を渡しますIsNumeric が表記を確認しCDbl が秒数を読みます不正文字列NaN0.1..5 秒の範囲外なら
    # -1それ以外は 1000 倍して丸めMain  350 ミリ秒を返します後の処理用の待機時間を計算するだけでここでは待機しませんRETURN ReadDelay("0.35")
END SUB

SUB ReadDelay(secondsText)
    IF NOT IsNumeric(secondsText) THEN
        RETURN -1
    END IF
    VAR seconds = CDbl(secondsText)
    IF CStr(seconds) = "NaN" OR seconds < 0.1 OR seconds > 5 THEN
        RETURN -1
    END IF
    RETURN CLng(seconds * 1000)
END SUB

パラメーターと実行の説明:

  • ReadDelay に secondsText="0.35" を渡します。IsNumeric が表記を確認し、CDbl が秒数を読みます。不正文字列、NaN、0.1..5 秒の範囲外なら -1。それ以外は 1000 倍して丸め、Main は 350 ミリ秒を返します。後の処理用の待機時間を計算するだけで、ここでは待機しません。

Русский · English · Українська · Français · Deutsch · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally