關於數字與漢字字元之間的轉換問題

2022-12-09 16:36:17 字數 536 閱讀 1491

1樓:匿名使用者

你好,字串轉換成數字最主要的條件就是"字串的格式正確"。

在我比較熟悉的c++,c#等語言中,待轉換的字串是不允許有字母(小數點除外),或者漢字的,如果有,則會導致轉換不成功或者丟擲異常,具體看使用的型別轉換函式。

至於為什麼不能包含字母和漢字,從使用者(程式設計師)的角度來看的話,其實很好理解,試想將如下一個字串「123test測試456」,轉成數字應該是多少呢。

2樓:

gb2312 就是16位編碼。

gbk是gb2312的超集

你得到的 0xd4da 就是 『在』在gb2312裡面的碼位。

sizeof('在') == 4 ,這個可能是vc的bug,確實等於4,但不代表 '在' 是4位元組編碼。可能vc編譯器內部預設所有非西文字元都是4位元組,為了統一吧。

不知道你要幹嘛?

字串就是一個記憶體地址起始的一段記憶體,取中文字串每個字元的gb值就直接按word方式讀取資料就行了,獲取的就是gb2312碼值。(unicode另當別論了)

C語言怎麼判斷我輸入的字元中含有非數字字元

可以讀入五個輸入來的字源符,然後迴圈判斷是否為數字。如果c是數字,那麼必須滿足 c 0 c 9 反之則是不符合要求的。如下 int c 5 int i for i 0 i 5 i c i getchar 讀入五個字元。for i 0 i 5 i if c i 0 c i 9 break 如果不符合,...

求只能輸入漢字字母數字標點符號的正規表示式限定在內

a za z0 9啊 座,求一個正規表示式可以匹配 中文字元,中文標點符號,英文,數字,下劃線。但不能輸入 等特殊字元.w w匹配 中文字元,英文,數字,下劃線 至於中文標點符號,看你需要了,如果有另外的就新增在中括號裡面。w不匹配中文字元的 x22 punct x 正規表示式 允許輸入漢字,數字,...

c語言中怎麼將數字字元轉換成對應的數值

舉個56的例bai子 第一次進入du時是單個zhi 字元dao 5 d 10 0 5 0 5第二次進專 入時是單個字元 6 d 5 10 6 0 56 轉換成功,10 d代表著位數 屬連續數字字元第一次進入時個位數 第二次十位數 第三次百位數.ch 0 是計算每個數字字元在數字中所對應的位置,較難理...