【问题标题】:I need to convert a string data from byte to float我需要将字符串数据从字节转换为浮点
【发布时间】:2021-12-09 11:28:14
【问题描述】:

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

最后我想我需要将 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);

如何插入字符串数据?

【问题讨论】:

    标签: c# string type-conversion double


    【解决方案1】:

    我觉得你不会写

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

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

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

    此外,为什么要将字符串作为 int 解析为 double?直接将字符串解析为双精度。

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

    【讨论】:

      【解决方案2】:

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

      试试这个:

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

      如果您使用 double.TryParse() 重载之一会更好。

      【讨论】:

        猜你喜欢
        • 2011-11-25
        • 1970-01-01
        • 2020-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多