2012-01-09 20 views

答えて

9

私はJavaバージョンを理解していれば、正しくは次のようになります。

 float value = 123.23F; 

     byte[] bytes = BitConverter.GetBytes(value); 

     int result = BitConverter.ToInt32(bytes, 0); 

これは整数にfloatを表すバイトを置きます。

また、それを行うには、より複雑な(おそらく速い)方法は、構造体を作成することです:

[StructLayout(LayoutKind.Explicit)] 
    public struct FloatToIntConverter 
    { 
     [FieldOffset(0)] 
     public int IntValue; 
     [FieldOffset(0)] 
     public float FloatValue; 
    } 

     FloatToIntConverter converter = new FloatToIntConverter(); 
     converter.FloatValue = value; 
     int result2 = converter.IntValue; 
+0

はい、それは私が欲しいものです。ありがとうございました。 – rodins

関連する問題