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