【问题标题】:float64 not showing decimal points [duplicate]float64不显示小数点[重复]
【发布时间】:2021-08-08 04:09:36
【问题描述】:

为什么我的float64 没有小数点?

我预计 40000/3 应该返回类似 13333.3333 的内容

package main

import (
    "fmt"
)

func main() {
    var f float64 = 40000 / 3
    fmt.Println(f)
}

https://play.golang.org/p/OxjLjwPGYhx

【问题讨论】:

  • var f float64 = 40000 / float64(3) fmt.Printf("%f", f)

标签: go


【解决方案1】:

40000/3 是一个整数值。然后将其转换为浮点数。要执行浮点除法,请使用浮点值。 40000.0/3 将产生一个浮点值。

【讨论】:

  • 更准确地说,40000/3 是一个无类型整数常量,而不是 int
  • @jub0bs, 40000/3 是一个无类型常量,在编译时作为 int 进行评估。结果没有小数部分。
  • 我们意见一致。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 2020-03-14
  • 1970-01-01
相关资源
最近更新 更多