0

私は現在C#で開発しており、float値から数字を取得してに格納しようとしていintます。例えば:

float f = 0.04;

が欲しいですint r = 4;

これを行う方法はありますか?できるようになりたいですswitch(r)

4

2 に答える 2

4

上記の場合、f = 0.04と の結果ですr=4。 f の場合に必要なuntil
を掛けることができます。10f > 0!=0

次に、r = 4整数にキャストして取得できます。

int r = (int)f;

それはトリックを成し遂げるはずです。

于 2012-11-03T05:07:53.210 に答える
2

値の末尾に文字を追加せず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

ありがとう、
これがお役に立てば幸いです:)

于 2012-11-03T05:32:23.203 に答える