我目前正在使用 C# 进行开发,我正在尝试从一个float
值中获取一个数字并将其存储到int
. 例如:
float f = 0.04;
我想int r = 4;
有没有办法做到这一点?我希望能够switch(r)
。
在上面给出的情况下, 的f = 0.04
和 的结果r=4
。
您可以乘以10
until f > 0
,如果 f ,这是必要的!=0
。
然后,要获得,r = 4
您可以转换为整数。
int r = (int)f;
这应该可以解决问题。
虽然我真的不知道你是如何在不将字符附加到值末尾的情况下设置 a类型的float
,但这是可能的!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)
从 a 获取小数点后的值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
谢谢,
我希望你觉得这有帮助:)