私は現在C#で開発しており、float
値から数字を取得してに格納しようとしていint
ます。例えば:
float f = 0.04;
が欲しいですint r = 4;
これを行う方法はありますか?できるようになりたいですswitch(r)
。
上記の場合、f = 0.04
と の結果ですr=4
。
f の場合に必要なuntil
を掛けることができます。10
f > 0
!=0
次に、r = 4
整数にキャストして取得できます。
int r = (int)f;
それはトリックを成し遂げるはずです。
値の末尾に文字を追加せずfloat
に of 型struct
をどのように設定したのかはよくわかりませんが、これは可能です!0.04
F
この時点で、最初に小数点を含む数値を文字列に変換することをお勧めします。次に、小数点以下の数値を取得した後、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
ます。注意:必要に応じて、変換したい目的の構造体に変更できます。以外の構造体型を変換するために使用します。GetDecimals
int
float
GetDecimals(float n)
GetDecimals
float
ありがとう、
これがお役に立てば幸いです:)