五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C/C++編程筆記:如何將字符串轉(zhuǎn)換為數(shù)字,數(shù)字轉(zhuǎn)換為字符串?

2021-02-04 21:49 作者:C語(yǔ)言編程__Plus  | 我要投稿

通常,或更具體地說(shuō),在競(jìng)爭(zhēng)性編程中,有許多情況需要將數(shù)字轉(zhuǎn)換為字符串或?qū)⒆址D(zhuǎn)換為數(shù)字。但是缺乏某些必不可少的工具的知識(shí)使我們不得不這樣做。本文介紹了一些實(shí)現(xiàn)此任務(wù)的方法。


將字符串轉(zhuǎn)換為數(shù)字

方法1使用stringstream類或sscanf()

stringstream():這是將數(shù)字字符串轉(zhuǎn)換為int,float或double的簡(jiǎn)單方法。以下是使用stringstream將字符串轉(zhuǎn)換為int的示例程序。


輸出:x的值:12345

stringstream是一種操作字符串的便捷方法。

sscanf()?是類似于scanf()的C樣式函數(shù)。它從字符串而不是標(biāo)準(zhǔn)輸入中讀取輸入。


輸出:x的值:12345

同樣,我們可以分別使用%f和%lf讀取float和double。

方法2使用stoi()或atoi()進(jìn)行字符串轉(zhuǎn)換.

stoi():?stoi()函數(shù)將字符串作為參數(shù)并返回其值。以下是一個(gè)簡(jiǎn)單的實(shí)現(xiàn):


輸出:

stoi(“ 45”)是45

stoi(“ 3.14159”)是3

stoi(“ 31337 geek”)是31337

atoi():?atoi()函數(shù)將字符數(shù)組或字符串文字作為參數(shù)并返回其值。以下是一個(gè)簡(jiǎn)單的實(shí)現(xiàn):


輸出:

atoi(“ 42”)是42

atoi(“ 3.14159”)是3

atoi(“ 31337 geek”)是31337

stoi()與atoi()

atoi()是舊的C樣式函數(shù)。在C ++ 11中添加了stoi()。

atoi()僅適用于C風(fēng)格的字符串(字符數(shù)組和字符串文字),stoi()適用于C ++字符串和C風(fēng)格的字符串

atoi()僅接受一個(gè)參數(shù)并返回整數(shù)值。

int atoi(const char * str);

stoi()最多可以包含三個(gè)參數(shù),第二個(gè)參數(shù)用于起始索引,第三個(gè)參數(shù)用于輸入數(shù)字的基數(shù)。

int stoi(const string&str,size_t * index = 0,int base = 10);

類似地,為了將String轉(zhuǎn)換為Double,可以使用atof()。上面的函數(shù)返回轉(zhuǎn)換后的整數(shù)作為int值。如果無(wú)法執(zhí)行有效的轉(zhuǎn)換,它將返回零。

方法3:使用boost詞匯表轉(zhuǎn)換

Boost庫(kù)提供了一個(gè)內(nèi)置函數(shù)“ lexical_cast(“ string”)”,該函數(shù)直接將字符串轉(zhuǎn)換為數(shù)字。如果輸入無(wú)效,則返回異常“ bad_lexical_cast”。


輸出:

轉(zhuǎn)換后的浮點(diǎn)值為:6.5

轉(zhuǎn)換后的int值為:5

將數(shù)字轉(zhuǎn)換為字符串

方法1:使用字符串流

在此方法中,字符串流聲明一個(gè)流對(duì)象,該對(duì)象首先將數(shù)字作為流插入對(duì)象,然后使用“ str()”跟隨數(shù)字到字符串的內(nèi)部轉(zhuǎn)換。


輸出:

從數(shù)字重新形成的字符串是:2016

方法2:使用to_string()

此函數(shù)接受一個(gè)數(shù)字(可以是任何數(shù)據(jù)類型),并以所需的字符串形式返回該數(shù)字。

實(shí)現(xiàn)方式:


輸出:

字符串中的整數(shù)是:20字符串中的浮點(diǎn)數(shù)是:30.500000

方法3:使用boost lexical cast

類似于字符串轉(zhuǎn)換,“ lexical_cast()”函數(shù)保持不變,但是這次參數(shù)列表修改為“ lexical_cast(numeric_var)”。


輸出:

字符串中的浮點(diǎn)值為:10.5

字符串中的int值是:17

本期的知識(shí)分享就到這里了,希望對(duì)大家有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:


C/C++編程筆記:如何將字符串轉(zhuǎn)換為數(shù)字,數(shù)字轉(zhuǎn)換為字符串?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
敦煌市| 固安县| 遵义市| 钟山县| 象州县| 万盛区| 长丰县| 临桂县| 临沂市| 德化县| 团风县| 定西市| 广安市| 阳新县| 新营市| 洛宁县| 屏南县| 长垣县| 游戏| 会宁县| 苍南县| 苏尼特左旗| 金乡县| 永康市| 阿拉尔市| 开远市| 吉水县| 勐海县| 长宁县| 兴化市| 大港区| 江门市| 颍上县| 青铜峡市| 宣威市| 麻栗坡县| 华坪县| 柏乡县| 星座| 张家口市| 东辽县|