c語言將數字轉換成字串的方法:1、ascii碼操作,在原數字的基礎上加“0x30”,語法“數字0x30”,會儲存數字對應的字元ascii碼;2、使用itoa(),可以把整數數轉換成字串,語法「itoa(number1,string,數字);」;3、使用sprintf(),可以能夠根據指定的需求,格式化內容,儲存至指標指向的字串。
本教學操作環境:windows7系統、c99版本、Dell G3電腦。
c語言將數字轉換成字串的幾種方法
#方法1、ascii碼運算:數字0x30
由於char類型的保存形式是ascii碼數值,所以可以加上數字0的ascii碼48,即0x30,儲存數字對應的字元ascii碼。
#include <stdio.h> int main() { char str1 = 'c'; // 随便初始化一下 str1 = 0x30 + 5; printf("str1: %c\n", str1); printf("str1: %d\n", str1); return 0; }
此處擴充一句,由於儲存字元的本質是ascii碼,所以使用uint8_t或其他類型的變數/陣列來儲存字元都是可行的。本人專案中就是使用u8來儲存的,好處在於該資料結構一定會是8位的,也確定了其無符號的特性。
方法2、使用itoa()
這是cstdlib非標準函式庫的函數。
itoa (表示 integer to alphanumeric)是把整數數轉換成字串的一個函數。
此函數用法為
char *itoa (int value, char *str, int base);
value是原始數字
str是要儲存進去的字串指標
base是指定的數字進位
一個範例是:
#include <stdlib.h> #include <stdio.h> int main() { int number1 = 123456; int number2 = -123456; char string[16] = {0}; itoa(number1,string,10); printf("数字:%d 转换后的字符串为:%s\n",number1,string); itoa(number2,string,10); printf("数字:%d 转换后的字符串为:%s\n",number2,string); return 0; }
方法3:sprintf()函數
這是stdio標準函式庫函數,該函數能夠根據指定的需求,格式化內容,儲存至指標指向的字串。
sprintf() 函數的宣告。
int sprintf(char *str, const char *format, ...)
str -- 這是指向一個字元數組的指針,該數組儲存了 C 字串。
format -- 這是字串,包含了要寫入到字串 str 的文字。它可以包含嵌入的 format 標籤,format 標籤可被隨後的附加參數中指定的值替換,並按需求進行格式化。 format 標籤屬性是%[flags][width][.precision][length]specifier
範例:
#include <stdio.h> #include <math.h> int main() { char str[80]; sprintf(str, "Pi 的值 = %f", M_PI); puts(str); return(0); }
以上是c語言怎麼將數字轉換成字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!