-2

ところで:xpossはサーバーから受信されるため、フロートとは言えません。0.0fが後ろにあるフロートに変換する必要があります:

xposs = "951.9791"

xspawn = float.Parse(yposs);

これは float で 951.9791 を返すだけですが、951.9791f が必要です

私も試しました:

xposs = "951.9791"

xspawn = float.Parse(yposs) + 0.0f;

これはまだ機能しません。

Vector3() で使用するため、0.0f 形式にする必要があり、f がないと機能しないようです (うまく機能しますが、座標が完全に間違っています。機能した後に手動で f を押すと)。

4

3 に答える 3

7

f接尾辞は、コード内のリテラルにのみ適用されます。リテラル値を として表すために使用されますfloat。接尾辞が存在しない場合 - リテラル値は型になりますdouble

float.Parse(stringValue)の結果をUnity 3dVector3のコンストラクター引数に渡すことができますVector2次のコードは、文字列に設定された値と等しい xyz を持つ Vector3 オブジェクトを作成します

string sideSize = "12.5";
float vectorSide = float.Parse(sideSize, CultureInfo.InvariantCulture);
Vector3 resultVector = new Vector3(vectorSide, vectorSide, vectorSide); //create vector3 with x = y = z = 12.5
于 2013-01-04T22:35:59.690 に答える
6

「f」サフィックスは、データ型を示すためにリテラル値で提供されます

  • フロートの f
  • 10 進数の m
  • ダブルの場合は d
于 2013-01-04T22:34:33.473 に答える
3

float は、 type の単なる数値ですSystem.Singlef彼らには後ろがありません。これは、C# がfloatリテラルに使用する表記法です。float.Parseを返すfloat場合、 を追加することは不可能または必要ありませんf

于 2013-01-04T22:35:56.823 に答える