私は現在C#で開発しており、float値から数字を取得してに格納しようとしていintます。例えば:
float f = 0.04;
が欲しいですint r = 4;
これを行う方法はありますか?できるようになりたいですswitch(r)。
上記の場合、f = 0.04と の結果ですr=4。
f の場合に必要なuntil
を掛けることができます。10f > 0!=0
次に、r = 4整数にキャストして取得できます。
int r = (int)f;
それはトリックを成し遂げるはずです。
値の末尾に文字を追加せずfloatに of 型structをどのように設定したのかはよくわかりませんが、これは可能です!0.04F
この時点で、最初に小数点を含む数値を文字列に変換することをお勧めします。次に、小数点以下の数値を取得した後、Int32.Parse(string s)に変換するために使用できますint
例
private Int32 GetDecimals(float n)
{
string s = n.ToString("#.#########", System.Globalization.CultureInfo.InvariantCulture); //Convert the value to string
return Int32.Parse(s.Substring(s.IndexOf(".") + 1)); //Return what's after the decimal point from the value as Int
}
次に、 を使用GetDecimals(float n)して、から小数点以下の値を取得できますfloat。
例
float f = 0.04F; //Initialize a new float of name f
int r = 0; //Initialize a new int of name r
r = GetDecimals(f); //Set r to 4
注意:出力の小数点以下の値を取得したい場合は、目的の出力に変更できInt32ます。注意:必要に応じて、変換したい目的の構造体に変更できます。以外の構造体型を変換するために使用します。GetDecimalsint
floatGetDecimals(float n)GetDecimalsfloat
ありがとう、
これがお役に立てば幸いです:)