【UE4】数値の端数処理まとめ(Rounding Mode & Math)
「小数点以下切り捨て」「四捨五入」など、
色々あってややこしいUE4の「端数処理」を一覧にまとめてみました。
ご査収ください😉👍
目次
Rounding Mode
「ToText(float)」「AsPercent」ノード等で利用できる端数処理オプション。
各float値をウィジェットに表示させ挙動を検証。ToText(float) ノードで小数点第一位を処理。
1. Half to Even
最も近い値に丸める。等距離( ●●.5 )の場合は偶数に近い値へ。
Before | After |
---|---|
+1.8 | 2 |
+1.5 | 2 |
+1.2 | 1 |
+0.8 | 1 |
+0.5 | 0 |
+0.2 | 0 |
-0.2 | -0 |
-0.5 | -0 |
-0.8 | -1 |
-1.2 | -1 |
-1.5 | -2 |
-1.8 | -2 |
2. Half from Zero
最も近い値に丸める。等距離の場合はゼロから離れる値へ。
Before | After |
---|---|
+1.8 | 2 |
+1.5 | 2 |
+1.2 | 1 |
+0.8 | 1 |
+0.5 | 1 |
+0.2 | 0 |
-0.2 | -0 |
-0.5 | -1 |
-0.8 | -1 |
-1.2 | -1 |
-1.5 | -2 |
-1.8 | -2 |
3. Half to Zero
最も近い値に丸める。等距離の場合はゼロに近い値へ。
Before | After |
---|---|
+1.8 | 2 |
+1.5 | 1 |
+1.2 | 1 |
+0.8 | 1 |
+0.5 | 0 |
+0.2 | 0 |
-0.2 | -0 |
-0.5 | -0 |
-0.8 | -1 |
-1.2 | -1 |
-1.5 | -1 |
-1.8 | -2 |
4. From Zero
ゼロから遠い値へ端数処理を行う。
Before | After |
---|---|
+1.8 | 2 |
+1.5 | 2 |
+1.2 | 2 |
+0.8 | 1 |
+0.5 | 1 |
+0.2 | 1 |
-0.2 | -1 |
-0.5 | -1 |
-0.8 | -1 |
-1.2 | -2 |
-1.5 | -2 |
-1.8 | -2 |
5. To Zero
ゼロに近い値へ端数処理を行う。
Before | After |
---|---|
+1.8 | 1 |
+1.5 | 1 |
+1.2 | 1 |
+0.8 | 0 |
+0.5 | 0 |
+0.2 | 0 |
-0.2 | -0 |
-0.5 | -0 |
-0.8 | -0 |
-1.2 | -1 |
-1.5 | -1 |
-1.8 | -1 |
6. To Negative Infinity
より大きな負の値へ端数処理を行う。
Before | After |
---|---|
+1.8 | 1 |
+1.5 | 1 |
+1.2 | 1 |
+0.8 | 0 |
+0.5 | 0 |
+0.2 | 0 |
-0.2 | -1 |
-0.5 | -1 |
-0.8 | -1 |
-1.2 | -2 |
-1.5 | -2 |
-1.8 | -2 |
7. To Positive Infinity
より大きな正の値へ端数処理を行う。
Before | After |
---|---|
+1.8 | 2 |
+1.5 | 2 |
+1.2 | 2 |
+0.8 | 1 |
+0.5 | 1 |
+0.2 | 1 |
-0.2 | -0 |
-0.5 | -0 |
-0.8 | -0 |
-1.2 | -1 |
-1.5 | -1 |
-1.8 | -1 |
Rounding Mode まとめ
Half to Even |
Half from Zero |
Half to Zero |
From Zero |
To Zero |
To Negative Infinity |
To Positive Infinity |
|||
---|---|---|---|---|---|---|---|---|---|
+1.8 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | ||
+1.5 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | ||
+1.2 | 1 | 1 | 1 | 2 | 1 | 1 | 2 | ||
+0.8 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | ||
+0.5 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | ||
+0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | ||
-0.2 | -0 | -0 | -0 | -1 | -0 | -1 | -0 | ||
-0.5 | -0 | -1 | -0 | -1 | -0 | -1 | -0 | ||
-0.8 | -1 | -1 | -1 | -1 | -0 | -1 | -0 | ||
-1.2 | -1 | -1 | -1 | -2 | -1 | -2 | -1 | ||
-1.5 | -2 | -2 | -1 | -2 | -1 | -2 | -1 | ||
-1.8 | -2 | -2 | -2 | -2 | -1 | -2 | -1 |
デフォルトの Rounding Mode「Half to Even」の場合、
「実際の数値はまだ 99.5%だけど、画面上では 100%と表示されてしまう」
という、地味に気付きづらい表示バグに繋がりがち。
そのような場合には Rounding Mode「To Zero」や、下記の「Floor」「Truncate」ノードで。
Mathノード
BPグラフやマテリアルグラフ上で使える便利ノード。
Round : 四捨五入
Ceil : 切り上げ
Floor : 切り下げ
Truncate:端数を削除
Round | Ceil | Floor | Truncate | |
---|---|---|---|---|
+1.8 | 2 | 2 | 1 | 1 |
+1.5 | 2 | 2 | 1 | 1 |
+1.2 | 1 | 2 | 1 | 1 |
+0.8 | 1 | 1 | 0 | 0 |
+0.5 | 1 | 1 | 0 | 0 |
+0.2 | 0 | 1 | 0 | 0 |
-0.2 | 0 | 0 | -1 | 0 |
-0.5 | 0 | 0 | -1 | 0 |
-0.8 | -1 | 0 | -1 | 0 |
-1.2 | -1 | -1 | -2 | -1 |
-1.5 | -1 | -1 | -2 | -1 |
-1.8 | -2 | -1 | -2 | -1 |
端数処理まとめ(Rounding Mode & Math)
Half to Even |
Half from Zero |
Half to Zero |
From Zero |
To Zero |
To Negative Infinity |
To Positive Infinity |
Round | Ceil | Floor | Truncate | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+1.8 | 2 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | |||
+1.5 | 2 | 2 | 1 | 2 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | |||
+1.2 | 1 | 1 | 1 | 2 | 1 | 1 | 2 | 1 | 2 | 1 | 1 | |||
+0.8 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | |||
+0.5 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | |||
+0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | |||
-0.2 | -0 | -0 | -0 | -1 | -0 | -1 | -0 | 0 | 0 | -1 | 0 | |||
-0.5 | -0 | -1 | -0 | -1 | -0 | -1 | -0 | 0 | 0 | -1 | 0 | |||
-0.8 | -1 | -1 | -1 | -1 | -0 | -1 | -0 | -1 | 0 | -1 | 0 | |||
-1.2 | -1 | -1 | -1 | -2 | -1 | -2 | -1 | -1 | -1 | -2 | -1 | |||
-1.5 | -2 | -2 | -1 | -2 | -1 | -2 | -1 | -1 | -1 | -2 | -1 | |||
-1.8 | -2 | -2 | -2 | -2 | -1 | -2 | -1 | -2 | -1 | -2 | -1 |
(画像版)
[ 参考 ]
Math 式 | Unreal Engine Documentation
UE4 %.2fのように有効桁数を指定してFloat型の数値から文字列を取り出す(To Text (float)) 凛(kagring)のUE4とUnityとQt勉強中ブログ
UE4でパーセント表記 - みつまめ杏仁
キャラ絵のテクスチャを作って表示する《後編》 - みつまめ杏仁
端数処理 - Wikipedia
Rounding - Wikipedia