**前面有搜寻过这篇文章[超级链接]https://studygolang.com/topics/11167**
**但是发现传float(float32)的时候正常,但在传double(float64)时,dll那边都还是收到0.00000**
**我用c++写个sample的去调用dll的话也是正常的**
**下面是我的code,不知道哪里出了问题, 版本是`go1.15.2`**
**`tempPara` 是要传入`syscall.Syscall`的`uintptr`,`element.ParamValue`是字串 (ex. 1.23232)**
```go
tempVar, err := strconv.ParseFloat(element.ParamValue, 64)
if err != nil {
Log("string to double transform error: ", err)
//Log(conn.RemoteAddr().String(), " connection error: ", "")
return err
}
var tempDouble uint64 = math.Float64bits((float64)(tempVar))
tempPara = uintptr(tempDouble)
```
**C這邊也只是單純印出來而已**
```c++
void passDouble(double nLen)
{
printf("> src double: %f\n", nLen);
}
```
**有哪位高手能帮忙看看吗? 谢谢** :pray:
有疑问加站长微信联系(非本文作者)