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)
包math/big实现了任意精度的算术(大数)。
NewRat(a, b) 返回一个设置为分数a/b的*Rat,其中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() 在屏幕上打印有理数。
总结
在以上两个例子中,我们已经成功地编译并执行了Golang代码,用Go编程语言将一个数字转换成一个有理数。
极客教程