我需要将字符串数据从字节转换为浮点数

I need to convert a string data from byte to float

我有一个文本框,我需要转换我输入的值。

最后我想我需要将 Double 转换为数据。

但是有问题 示例代码:

textbox1.Text = "24.5";
double data = int.Parse(textbox1.Text);

byte[] b = BitConverter.GetBytes((data)f);
int i = BitConverter.ToInt32(b, 0);

代码像这样工作

byte[] b = BitConverter.GetBytes(22.3f);
int i = BitConverter.ToInt32(b, 0);

如何插入字符串数据?

int.Parse() 是错误的,可能会抛出异常。如果您有字符串值 "24.5",您希望 整数 与“.5”部分有什么关系?

试试这个:

textbox1.Text = "24.5";
double data = double.Parse(textbox1.Text);

如果您使用 double.TryParse() 重载之一,那就更好了。

我觉得你不会写

byte[] b = BitConverter.GetBytes((data)f);

(数据)f -> 无效。我认为您想像 24.5f 一样使用它。尝试将其转换为浮动。例如:

byte[] b = BitConverter.GetBytes((float) data);

此外,为什么要将字符串作为 int 解析为 double?直接将字符串解析为double.

看看@Joel Coehoorn 的评论。 有关 Double.TryParse() 的更多信息,请参阅:Microsofts handbook about Double.TryParse