如何在GO中将float64值修剪为特定的小数点?
我想把地址的纬度和经度减少到5个小数点。 纬度和经度的类型为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
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
它们都是相同的。请点击此处:。