如何在Go语言中对浮点数进行除法运算。

huangapple go评论91阅读模式
英文:

How to divide a float in go

问题

首先,我是你的中文翻译助手,以下是你要翻译的内容:

首先,我是新手程序员,遇到了一个问题。
我试图从一个浮点数中取1/4,但它不起作用(这只是一个简单的例子,实际情况中需要使用浮点数)。

package main

import (
	"fmt"
)

var (
	a float64
)

func main() {

	fmt.Println("请输入数字")
	fmt.Scan(&a)

	s := a * (1 / 4)
	fmt.Println(s)
}

如果输入是100,它会返回0。

英文:

First of all i'm new to programming, and i have problem.
I'm trying to take 1/4 from a float but it doesn't work (it has to be a float this is just an easier example).

package main

import (
	"fmt"
)

var (
	a float64
)

func main() {

	fmt.Println("digit")
	fmt.Scan(&a)

	s := a * (1 / 4)
	fmt.Println(s)
}

If the input is 100 it returns 0.

答案1

得分: 4

你正在对两个整数进行除法运算,而不是浮点数。你后来将其赋值给float64并不会改变任何事情。你需要在至少一个值中使用小数点,以通知Go编译器进行浮点数除法运算:

package main

import (
    "fmt"
)

var (
    a float64
)

func main() {

    fmt.Println("digit")
    fmt.Scan(&a)

    s := a * (1.0 / 4)
    fmt.Println(s)
}
英文:

You are dividing two integers, not floats. The fact that you later assign it to float64 changes nothin. You need to use decimal point in at least one value to inform Go compiler it should do floating point division:

package main

import (
    "fmt"
)

var (
    a float64
)

func main() {

    fmt.Println("digit")
    fmt.Scan(&a)

    s := a * (1.0 / 4)
    fmt.Println(s)
}

huangapple
  • 本文由 发表于 2021年12月1日 05:41:31
  • 转载请务必保留本文链接:https://go.coder-hub.com/70176465.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定