【问题标题】:Convert float64 array to float32 array将 float64 数组转换为 float32 数组
【发布时间】:2019-05-21 04:07:08
【问题描述】:

我有一个 float64 数组,想将每个值转换为 float32。

我试过了:

# What I have 
features64 [120]float64

# What I've tried
features32 = [120]float32(features64)

但这会导致编译错误:

无法将特征(类型 [120]float64)转换为类型 [120]float32

【问题讨论】:

    标签: arrays go type-conversion


    【解决方案1】:

    您不能将一种切片/数组类型转换为另一种。您需要创建一个新数组并遍历转换每个元素的原始数组:

    for i,f := range features64 {
        features32[i] = float32(f)
    }
    

    【讨论】:

      【解决方案2】:

      简单

      var arr1 [120]float64
      var arr2 [120]float32
      for i, v := range arr1 {
          arr2[i] = float32(v)
      }
      

      【讨论】:

        【解决方案3】:

        例如,

        package main
        
        func main() {
            var features64 [120]float64
        
            var features32 [len(features64)]float32
            for i, f64 := range features64 {
                features32[i] = float32(f64)
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2016-11-16
          • 2018-02-07
          • 1970-01-01
          • 2017-12-08
          • 2016-06-14
          • 2016-01-26
          • 2017-09-27
          • 1970-01-01
          • 2017-07-21
          相关资源
          最近更新 更多