在 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
在此示例中,我們聲明瞭一個名為 num 的變數,其型別為 float64,並將其賦值為 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 包並聲明瞭一個名為 num 的變數,其型別為 float64,值為 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
在此示例中,我們聲明瞭一個名為 str 的變數,其值為 "42"。然後,我們使用 strconv.Atoi() 函式將字串值轉換為整數值,並將結果賦值給一個名為 integer 的新變數。如果轉換過程中出現錯誤,我們將使用 fmt.Println() 函式將錯誤訊息列印到控制檯。否則,我們將列印 `integer 的值。
使用 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 中提取數字整數部分的不同方法。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP