###前提
細かい数値のfloatの値を、Mathf.Floorを使用して小数点第2位にし、オブジェクトのlocalPosition.x, localPosition.yに入れたんですが、オブジェクトのinspector上のpositionを見ると、yの値だけ小数点第2位ではなく、それよりも細かい数値になっています。
Debug.Logを使いxFixedPos、yFixedPosの値を見ましたが、どちらも小数点第2位のあたいになっています。
しかし、inspector上の値を見ると、yの値だけ小数点第2位ではなく、それよりも細かい値です。
こんな感じ値になります。
Debug.Log(gameObject.transform.localPosition.x) = 2.11
Debug.Log(gameObject.transform.localPosition.y) = 0.62
inspector上のgameObject.transform.localPosition.x = 2.11
inspector上のgameObject.transform.localPosition.y = 0.6200002
##解決したいこと
Debug.Logで調べる限り、xもyも小数点第2位の値になっているにも関わらず、なぜinspector上のxの値は成功していて、yの値は失敗しているのか。
##コード
void A()
{
Vector3 fixedPos = new Vector3 ();
float xFixedPos = B (gameObject.transform.localPosition.x);
float yFixedPos = B (gameObject.transform.localPosition.y);
fixedPos.x = xFixedPos;
fixedPos.y = yFixedPos;
fixedPos.z = 0f;
gameObject.transform.localPosition = fixedPos;
}
float B(float num) { float fixNum = new float (); fixNum = num * 100f; fixNum = Mathf.Floor (fixNum); fixNum = returnNum / 100f; return fixNum; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。