簡體   English   中英

如何將特定字符從字符串轉換為 int (C)

[英]How to convert a specific character from a string into an int (C)

我正在嘗試將字符從字符串轉換為 int。 我試過這個:

int function(char c[]) {
     return (int)c[1];
}

我只想轉換字符串 c 的第二個字符,它的長度只有兩個。

這個 function 的問題是返回的 integer 與我輸入的完全不同。

我還嘗試比較 c[1] 和從 0 到 10 的數字(只有那些數字需要轉換),但是 c[1] 有問題。

我希望一切都足夠清楚,以便您可以幫助我。

謝謝 !!!

答:我剛剛改了return(int)c[1]; 進入return(int)(c[1]-'0'); 效果很好,至少對我來說

我認為您想將 char 轉換為其 ASCII(整數)形式。

printf("The ASCII value of %c = %d\n",i,i);

如果要將 integer 轉換為 char,只需使用如下顯式轉換:

char c1 = (char)97;  //c1 = 'a'

試試這個:

#include<stdio.h>

int function(char c[]);

int main(void) {
    char characters[3] = {'a','b','c'};

    int a = function(characters);

    printf ("%d",a);

    return 0;
}

int function(char c[]) {
     return (int)c[1];
}

嘗試這個:-

int function(char c[]) {
    int x=0;
    try {
        x = Integer.parseInt(String.valueOf(c[1]));
    }catch (NumberFormatException e){
        x=c[1];
    }
    return x;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM