在 Golang 中查找指定数字的整数值
在 Go 语言中,整数是代表没有小数部分的整数值的数字。整数可以有符号或无符号,并且可以具有不同的大小,具体取决于用于表示它们的位数。
有时需要获取指定数字的整数值以执行各种计算。在本文中,我们将讨论如何在 Golang 中查找给定数字的整数值。
使用类型转换将浮点数转换为整数
在 Golang 中获取给定数字的整数值的一种方法是使用类型转换。类型转换是将一个数据类型的值转换为另一个数据类型的过程。在这种情况下,我们可以通过使用类型转换将浮点值转换为整数值。
以下是如何使用类型转换查找给定数字的整数值的示例 −
示例
package main
import "fmt"
func main() {
var num float64 = 3.14
integer := int(num)
fmt.Println("The integer value of", num, "is", integer)
}
输出
The integer value of 3.14 is 3
在这个示例中,我们声明了一个类型为 float64 的变量 num,并将其赋值为 3.14。然后,我们使用 int() 函数将浮点值转换为整数值,并将结果分配给名为 integer 的新变量。最后,我们使用 fmt.Println() 函数将 integer 的值输出到控制台上。
使用 math 包将浮点数舍入为最接近的整数
在 Golang 中,另一种查找给定数字的整数值的方法是使用 math 包。math 包提供了多个用于数学运算的函数,包括将浮点数舍入为最接近的整数。
以下是如何使用 math 包查找给定数字的整数值的示例 −
示例
package main
import (
"fmt"
"math"
)
func main() {
var num float64 = 3.14
integer := int(math.Round(num))
fmt.Println("The integer value of", num, "is", integer)
}
输出
The integer value of 3.14 is 3
在这个示例中,我们导入了 math 包,并声明了一个类型为 float64 的变量 num,其值为 3.14。然后,我们使用 math.Round() 函数将浮点值舍入为最接近的整数,并使用类型转换将其转换为整数值。最后,我们使用 fmt.Println() 函数将 integer 的值输出到控制台上。
使用 strconv 包将字符串转换为整数
如果您有一个表示数字值的字符串,可以使用 strconv 包将其转换为整数值。strconv 包提供了几个将字符串转换为不同数据类型的函数。
以下是如何使用 strconv 包查找给定字符串的整数值的示例 −
示例
package main
import (
"fmt"
"strconv"
)
func main() {
str := "42"
integer, err := strconv.Atoi(str)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("The integer value of", str, "is", integer)
}
}
输出
The integer value of 42 is 42
使用 Floor 函数
在 Golang 中,math.Floor() 函数可用于提取浮点数的整数部分。该函数接受一个浮点数作为参数,并返回小于或等于给定数的最大整数值。以下是一个示例−
示例
package main
import (
"fmt"
"math"
)
func main() {
var x float64 = 4.5
fmt.Println(math.Floor(x))
}
输出
4
使用 ParseInt 函数
Golang 中的 strconv 包提供了一个名为 ParseInt 的函数,可用于提取十六进制数字的整数值。以下是一个示例−
示例
package main
import (
"fmt"
"strconv"
)
func main() {
var hexStr string = "1a"
var base int = 16
var bitSize int = 64
hexVal, err := strconv.ParseInt(hexStr, base, bitSize)
if err == nil {
fmt.Println(hexVal)
}
}
输出
26
在上面的示例中,我们使用 strconv.ParseInt() 函数提取了十六进制字符串 1a 的整数值。base 参数设置为 16,指定字符串是十六进制数字。bitSize 参数设置为 64,指定返回的整数值应为 64 位整数。该函数返回 26,这是十六进制数 1a 的十进制等价值。
结论
在本文中,我们看到了 Golang 中提取数字整数部分的不同方法。