Golang 将一个数转换为有理数
在本教程中,我们将看到如何使用Go编程语言将一个数转换为有理数。
有理数是一种实数类型,它的形式为p/q,其中q不等于零。任何非零分母的分数都是有理数。一些有理数的示例包括1/2、1/5、3/4等。
语法
funcNewRat(a, b int64) *Rat
NewRat creates a new Rat with numerator a and denominator b
Syntax for Scanln:
Func Scanln(a…interface{}) (n int, err error)
Package math/big实现了任意精度的算术运算(大数)。
NewRat(a, b)返回一个*Rat对象,设置为分数a/b,其中a和b是int64类型的值。
将一个数字转换为一个带有一个输入的有理数
步骤
步骤1 - 导入fmt和math/big包
步骤2 - 开始主函数main()
步骤3 - 声明NewRat函数
步骤4 - 用一个值初始化公式
步骤5 - 使用fmt.Println()在屏幕上打印有理数
示例
这个示例展示了如何将一个数字转换为一个带有一个输入的有理数
package main
// import the fmt and math/big package
// fmt package provides the function to print anything
import (
"fmt"
"math/big"
)
func main() {
fmt.Println("Golang Program to convert a number into a rational number")
// NewRat creates a new Rat with numerator a and denominator b
r := new(big.Rat)
//use the Sscan function so that it returns two
//values: a string and an error
_, err := fmt.Sscan("2.5", r)
//if statement to check for an invalid request
if err != nil {
//and return an error if the request is invalid
fmt.Println("error scanning value:", err)
} else {
// Print the rational number
fmt.Println("The rational number is",r)
}
}
输出
Golang Program to convert a number into a rational number
The rational number is 5/2
代码描述
- 在上述程序中,我们首先声明了包main。
-
我们导入了包含fmt包文件的fmt包,也导入了math/big包以实现大数。
-
现在开始函数main()
-
声明NewRat函数,它使用分子和分母创建一个新的有理数。
-
接下来,使用一个数值初始化公式,你想要将其转换为有理数。
-
在行上 – _, err := fmt.Sscan(“2.5”, r) – 调用Sscan()函数,如果成功扫描到数字,则返回该数字并返回错误。
-
接下来 – if err != nil { – 如果有任何错误,则执行此行。
-
最后,我们使用fmt.Println()在屏幕上打印有理数。
将一个数字转换为具有2个输入的有理数
步骤
步骤1 - 导入fmt和math/big包。
步骤2 - 开始函数main()
步骤3 - 声明NewRat函数
步骤4 - 使用一个值初始化公式
步骤5 - 调用Scanln()函数进行扫描、读取和存储输入
步骤6 - 使用fmt.Println()在屏幕上打印有理数
示例
此示例显示了如何将一个数字转换为具有2个输入的有理数。
// Including the main package
package main
// Importing fmt and math/big
import (
"fmt"
"math/big"
)
// Calling main
func main() {
fmt.Println("Golang Program to convert a number into a rational number")
// NewRat creates a new Rat with numerator a and denominator b
r := big.NewRat(6, 8)
// Calling Scanln() function for
// scanning and reading the input
fmt.Scanln(r)
// Printing the result
fmt.Println("The rational number is",r)
}
输出
Golang Program to convert a number into a rational number
The rational number is 3/4
代码描述
- 在上述程序中,我们首先声明了包main。
-
我们导入了包fmt,其中包括fmt包的文件,并且我们还导入了math/big包以实现大数运算。
-
现在开始函数main()
-
声明NewRat函数,它创建一个新的有分子和分母的有理数。
-
接下来,使用要转换为有理数的数字的值,将其应用于NewRat公式。
-
调用Scanln()函数以扫描和读取输入,并将其存储在变量r中。
-
最后,使用fmt.Println()在屏幕上打印有理数。
结论
在上述两个示例中,我们成功编译并执行了使用Go编程语言将数字转换为有理数的Golang代码。