討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 掌握Salesforce雲端管理秘訣 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
請問一下如何將字元轉數字??
更改我的閱讀文章字型大小
作者 : korea28(korea)
[ 貼文 2 | 人氣 243 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/7 下午 07:34:47
我正在寫工程計算機的程式,已完成了95%,可是最後卡在字元轉數字,由於先前式子存成字串中,計算過程中須數字,不知有何函式可用,不知strtoi();這要引用何標頭檔??謝謝!!
作者 : arcelab(阿傑) 貼文超過200則人氣指數超過10000點
[ 貼文 283 | 人氣 13358 | 評價 650 | 評價/貼文 2.3 | 送出評價 13 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人korea28註記此篇回應為最佳解答 2005/2/7 下午 09:12:44
好像曾有類似的問題...
我都是用 C 的 atoi()/ atof() 來解決...
不知道印象是否正確 :p
作者 : korea28(korea)
[ 貼文 2 | 人氣 243 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/7 下午 11:54:32
我因為字元轉數字,處理一些程序後,要再回存,所"數字轉字元"的可不可以告訴我??
因為手邊沒有工具書,所以忘了~~~
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人korea28註記此篇回應為很有道理 2005/2/8 上午 12:40:50

>我正在寫工程計算機的程式,已完成了95%,可是最後卡在字元轉數字,由於先前式子存成字串中,
>計算過程中須數字,不知有何函式可用,不知strtoi();這要引用何標頭檔??謝謝!!

strtol(). In <stdlib.h>

You can also use atoi() or atoll() (both required <stdlib.h>.

Personally, I prefer strtol() because you can check for error (3rd argument).


>我因為字元轉數字,處理一些程序後,要再回存,所'數字轉字元'的可不可以告訴我??
>因為手邊沒有工具書,所以忘了~~~

No standard function. Some compilers support itoa(). Check your compiler's documentation.

You can use sprintf() to write formatted output to a buffer.

if you need the original string back, the best is to save it in your code. Especially useful if it is a floating point number.
作者 : mmpo(試作三杯雞) 貼文超過200則
[ 貼文 331 | 人氣 4211 | 評價 1230 | 評價/貼文 3.72 | 送出評價 12 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/13 上午 11:41:15
字元轉數字........其實這個你可以自己撰寫函式來完成

9='9'-'0';
8='8'-'0';
7='7'-'0';
6='6'-'0';
5='5'-'0';
4='4'-'0';
.............
0='0'-'0';

int chofi(char ch)
{
  return ch-'0';
}

我只能說你中毒太深了.....太依賴現成的函式了

如果是字串轉數字
int atoi(const char* nptr); //轉成整數
long int strtol(const char* nptr,char** endptr,int base); //轉成長整數
unsigned long int strtoul(const char* nptr,char** endptr,int base); //轉成無號長整數

後面兩個的參數比第一個多了兩個參數,如果是十進位,而且不需要回報字串中無法轉換的字元指標的話...都設成NULL就好了
這三個函式的經紀人都是stdlib.h
作者 : mmpo(試作三杯雞) 貼文超過200則
[ 貼文 331 | 人氣 4211 | 評價 1230 | 評價/貼文 3.72 | 送出評價 12 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/13 下午 02:06:56
抱謙...眼誤.......

你好像是要數字轉字元....

'9'='0'+9;
'8'='0'+8;
'7'='0'+7;
.............
'0'='0'+0;

char intofch(int n)
{
  return char(n+'0');
}

參考看看....

作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/2/14 下午 10:15:58
>字元轉數字........其實這個你可以自己撰寫函式來完成
>
>9=''9''-''0'';
>8=''8''-''0'';
>7=''7''-''0'';
>6=''6''-''0'';
>5=''5''-''0'';
>4=''4''-''0'';
>.............
>0=''0''-''0'';
>
>int chofi(char ch)
>{
> return ch-''0'';
>}

this only works for ASCII.


>我只能說你中毒太深了.....太依賴現成的函式了

The function is to guarantee portability.
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.171875