Если вам просто нужно принять значение с плавающей точкой 64 для ваших входов, вы можете просто использовать %f
или %g
для установки ваших значений. Точность по умолчанию - 6.
Если вам нужна более высокая точность и обработка ошибок, может быть более надежным использовать ваши входные данные в виде строк, а затем анализировать и обрабатывать их по мере необходимости.
Выполнитькод ниже, чтобы увидеть оба входа float64. Первый будет выводиться с точностью до 2, второй будет выводиться с точностью по умолчанию.
package main
import "fmt"
const menu string = "Calculator v1.0:\n\t1.a+b\n\t2.a-b\n\t3.a*b\n\t4.a/b\nSelect an option:"
func main() {
var option int
var firstNumber float64
var secondNumber float64
fmt.Println(menu)
fmt.Scanf("%d", &option)
fmt.Println("First number:")
fmt.Scanf("%f", &firstNumber)
fmt.Println("Second number:")
fmt.Scanf("%g", &secondNumber)
fmt.Printf("Input Type: %T, FirstNumber: %.2f\n", firstNumber, firstNumber)
fmt.Printf("Input Type 2: %T, SecondNumber: %f\n", secondNumber, secondNumber)
if option == 1 {
println(sum(firstNumber, secondNumber))
} else if option == 2 {
println(subtract(firstNumber, secondNumber))
} else if option == 3 {
println(multiply(firstNumber, secondNumber))
} else if option == 4 {
println(divide(firstNumber, secondNumber))
}
}
func sum(a float64, b float64) float64 {
return a + b
}
func subtract(a float64, b float64) float64 {
return a - b
}
func multiply(a float64, b float64) float64 {
return a * b
}
func divide(a float64, b float64) float64 {
return a / b
}