Go 添加float64值后,结果的分数值将消失

Go 添加float64值后,结果的分数值将消失,go,Go,打印该值时,它使用默认表示形式。从: %v的默认格式是: ... float32、complex64等:%g ... …%的默认精度g是所需的最小位数 唯一地标识该值。 下面是修改后的代码以演示这一点: 主程序包 进口( “fmt” “操作系统” “布菲奥” “strconv” ) func main(){ 变量d float64=4.0 扫描仪:=bufio.NewScanner(os.Stdin) 为了{ fmt.Printf(“输入一个数字:”) scanner.Scan() b、 错误

打印该值时,它使用默认表示形式。从:

%v的默认格式是: ... float32、complex64等:%g ... …%的默认精度g是所需的最小位数 唯一地标识该值。 下面是修改后的代码以演示这一点:

主程序包
进口(
“fmt”
“操作系统”
“布菲奥”
“strconv”
)
func main(){
变量d float64=4.0
扫描仪:=bufio.NewScanner(os.Stdin)
为了{
fmt.Printf(“输入一个数字:”)
scanner.Scan()
b、 错误:=strconv.ParseFloat(scanner.Text(),64)
如果错误!=零{
fmt.Println(错误)
持续
}
结果:=b+d
fmt.Println(“\n结果:”)
fmt.Printf(“\t%%v:%v\n”,结果)
fmt.Printf(“\t%%g:%g\n”,结果)
fmt.Printf(“\t%%f:%f\n\n”,结果)
}
}
$go运行test.go
输入一个数字:5
结果:
%v:9
%g:9
%f:900万
输入一个数字:5.5
结果:
%v:9.5
%g:9.5
%f:9.500000
输入一个数字:7.8910
结果:
%v:11.891
%g:11.891
%f:11.891000
输入一个数字:

请忽略最后一行的float64(),谢谢,考虑到这一点,我刚刚用-fmt.Printf(“%.1f\n”,d+b)指定了我的格式
package main


import (
  "fmt"
  "os"
  "bufio"
  "strconv"
)

func main() {

    var _ = strconv.Itoa 
  
    var d float64 = 4.0

    scanner := bufio.NewScanner(os.Stdin)

    var b float64
   
    scanner.Scan()

    b, _ = strconv.ParseFloat(scanner.Text(), 64)
  
    fmt.Println(float64(d + b))
    
}