如何在GO中将float64值修剪为特定的小数点?

如何在GO中将float64值修剪为特定的小数点?,go,Go,我想把地址的纬度和经度减少到5个小数点。 纬度和经度的类型为float64我已经创建了一个围绕该值的函数。 我的函数是这样的:: func DoubleRoundFive(val float64) float64 { formattedVal := fmt.Sprintf("%.5f", val) roundedVal, _ := strconv.ParseFloat(formattedVal, 64) return roundedVal } 输出和使用:: Doubl

我想把地址的纬度和经度减少到5个小数点。 纬度和经度的类型为float64我已经创建了一个围绕该值的函数。 我的函数是这样的::

func DoubleRoundFive(val float64) float64 {
    formattedVal := fmt.Sprintf("%.5f", val)
    roundedVal, _ := strconv.ParseFloat(formattedVal, 64)
    return roundedVal
}
输出和使用::

DoubleRoundFive(76.70289609999999)
输出::

76.7029
但是我只想把这个值减少到5个小数点。我希望输出为76.70289。在围棋中可能吗?? 我想要精确的5个十进制值,因为我用它表示经纬度。 这是一个围棋场

试试这个:

package main

import (
    "fmt"

)

func main() {
    val := DoubleRoundFive(76.70289609999999)
    fmt.Println(val)
}

func DoubleRoundFive(val float64) float64 {
    valInt := int64(val*100000)
    val = float64(valInt)/100000
    return val
}
去操场:

试试这个:

package main

import (
    "fmt"

)

func main() {
    val := DoubleRoundFive(76.70289609999999)
    fmt.Println(val)
}

func DoubleRoundFive(val float64) float64 {
    valInt := int64(val*100000)
    val = float64(valInt)/100000
    return val
}

去操场:

我只想把十进制值修剪到5位我想用精确的经纬度来计算距离,这就是为什么我只想把十进制值修剪到精确的5位我想用精确的经纬度来计算距离,这就是为什么我只想要精确到5个小数点的值选中值“40.7564017”。它只给出该值的四位数值??对于每种类型的数字,我想要精确的五个小数点,不管是0还是其他什么。可能吗?在浮动中,
40.7564
40.75640
40.75640000
它们都是相同的。检查此处:。检查此值是否为“40.7564017”。它只给出该值的四位数值??对于每种类型的数字,我想要精确的五个小数点,不管是0还是其他什么。可能吗?在浮动中,
40.7564
40.75640
40.75640000
它们都是相同的。请点击此处:。