int 和 string 的轉換方式

Mondo 科技 更新 2024-02-01

int 是 integer 的縮寫,表示整數資料。 string 表示字串。 在計算機中,這是兩種不同型別的資料,但在一定程度上,它們可以相互轉換。

string 是字元陣列的另乙個名稱,它由單個字元組成。 在計算機中,單位元組字元分為單位元組字元和多位元組字元,前者如英文字母和英式標點符號,後者如漢字和中文標點符號。

乙個位元組是 8 位,最高的位代表空閒位,其餘 7 位用於編碼 128 個符號。 因此,ASCII 查詢表中的 128 個字元可以用 int 資料表示,因為每個字元都有相應的序號。 乙個雙位元組是16位,也在int資料的取值範圍內,但是因為記憶體位址單元是8位,所以不能直接轉換,因為它涉及到如何在兩個位址單元中拼接資料。

此外,對於內容為數字的字元,它們不傾向於使用其字元編碼的相應整數資料值作為將字串轉換為整數資料的結果,而是更喜歡破譯引號的操作,例如,“1”的轉換結果是 1 而不是其對應的字符號 49, 這在由多個數字字元組成的字串中很常見。

1. int 轉字串

從 int 轉換為字串就像在 int 資料兩邊加上引號一樣簡單。 如果要使用庫函式,可以使用 to string 函式和 sprintf 函式,如下圖所示

如果你不想使用乙個開箱即用的函式,而是自己編寫乙個函式來完成轉換,那麼我可以提供乙個演算法思路,使用字元 0 一點一點地完成數字到字元的轉換。

上述示例**中使用的反向函式位於演算法庫中。

2. 字串轉int

由於字串內容不僅有數字符號,還有文字符號和標點符號,因此必須單獨處理。 對於要轉換為 int 資料的帶有非數字符號的字串,要求必須為單個單位元組字元具體而言,必須位於 ASCII 查詢表中的符號,然後將結果轉換為 ASII 查詢表中該符號的序號。

對於帶有數字符號的字串,可以有多個字元。 如果您使用開箱即用的庫函式,您可以呼叫 stoi 函式這個函式的使用比較簡單,只需要將要轉換的字串作為引數傳遞到函式中,函式的正常返回值就是轉換結果。 而且函式名的記憶也比較容易記住,stoi其實就是這樣string to int 的縮寫

類似地,如果你想實現乙個將數值字串轉換為整數資料的函式,那麼我提供了乙個演算法思路,即將每個字串陣列作為字元陣列迴圈出來,以區分字元 0,然後將其組織成以某種形式返回的新整數資料。

相關問題答案

    如何在愛與自我之間找到平衡

    優質作者名單 在人生的道路上,愛情和自我往往是我們面臨的兩個重要選擇。愛常常給我們帶來溫暖 安全感和歸屬感,而自我則代表著我們的獨立 個性和自由。然而,如何在兩者之間找到平衡是乙個值得一問的問題。首先,讓我們明確一點 愛和自我並不是相互排斥的。愛促進自我發展,自我為我們的愛提供了堅實的基礎。在愛情中...

    飲食和濕疹之間有什麼聯絡?如何通過飲食控制濕疹症狀

    濕疹,也稱為特應性皮炎,是一種慢性炎症,通常表現為發紅 瘙癢 發紅和起泡。雖然濕疹非常複雜,包括遺傳 免疫系統異常等因素,但近年來,越來越多的研究發現,飲食與濕疹之間存在一定的關係。接下來,我們將深入分析飲食與濕疹的關係,以及如何通過科學飲食來控制濕疹症狀,為濕疹患者提供更多的生活指導。飲食與濕疹的...

    妻子和婆婆之間的衝突 如何有效地與丈夫打交道

    嘿!你好!我是老周的精神啟蒙 歡迎來到我的情感空間,你今天過得怎麼樣?願你在我的著作中找到你曾經擁有的純真!找到心中的溫暖 在家庭生活中,婆媳關係是乙個敏感而複雜的話題。當妻子和婆婆吵架時,作為丈夫,如何處理這種衝突,維護家庭和睦,是乙個值得一提的問題。.傾聽和理解 作為丈夫,保持冷靜,傾聽雙方的意...

    如何測試你男朋友和最好的朋友之間的秘密

    在人際關係中,有一種特殊的紐帶,既充滿溫暖,又潛伏著微妙的暗流。這就是女朋友和男朋友之間的關係。這種關係就像一片神秘的荒野,好奇而又難以探索。面對這個未知的領域,我們該如何洞察男女朋友之間的秘密?學會觀察他們的言行。平日裡,男女朋友的互動是不是太親密了?他們是否經常在你面前開玩笑 開玩笑,甚至做一些...

    你如何在自負和自卑之間找到平衡?

    莫言的智慧 自負與自卑的微妙平衡。在莫言的眾多名言中,有這樣一句話深深地觸動了我 即使你讓別人認為你自負,也不要讓別人覺得你低人一等,因為一旦別人捕捉到你的自卑情結和敏感的特質,他就會下意識地想要欺負你 奴役你 蹂躪你,這是人的潛意識,就像鯊魚聞到血腥味一樣。這句話不僅揭示了人性的複雜性,也向我們展...