C 整型 浮點型與字串型相互轉換

2022-08-27 01:24:10 字數 3159 閱讀 3454

整型、浮點型與字串的相互轉換可以用自帶的函式來實現,本人使用的是vs2015,所以下面有些函式需要改變一下,請看下面的總結。

一、整型轉字串型

1. int轉為字串

itoa(int _value, char *_buffer, int _radix);  

需改為_itos_s(int _value, char *_buffer, size_t _buffercount, int _radix);

_radix:表示進製,若十進位制則radix為10

_buffercount:儲存的大小,不可以比buffer的長度大

#include using namespace std;

void main()

2. long int轉為字串

ltoa(long _value, char *_buffer, int _radix);  

改為_ltoa_s(long _value, char *_buffer, size_t _buffercount, int _radix);

3. 無符號長整型轉為字串

ultoa(unsigned long _value, char *_buffer, int _radix);  

改為_ultoa_s(unsigned long _value, char *_buffer, size_t _buffercount, int _radix);

4. int型轉為寬字串型

_itow(int _value, wchar_t *_buffer, int _radix); 

改為_itow_s(int _value, wchar_t *_buffer, size_t _buffercount, int _radix);

二、浮點型轉字串型

1. double型轉為字串

gcvt(double _value, int _digitcount, char* _dstbuf);  

改為_gcvt_s(char* _buffer, size_t _buffercount, double _value, int _digitcount);

說明:顯示正負號、小數點

_digitcount:顯示的位數,如1.25,顯示兩位是1.3(四捨五入),顯示三位是1.25

#include using namespace std;

void main()

2. double轉換為字串

ecvt(double _value, int _digitcount, int *_ptdec, int *_ptsign);  

改為_ecvt_s(char *_buffer, size_t _buffercount, double _value, int _digitcount, int *_ptdec, int *_ptsign);

說明:不顯示小數點和正負號

_ptdec:表示小數點位置,若_ptdec為1,說明小數點左邊有乙個數

_ptsign:表示正負號,0為正數,1為負數

#include using namespace std;

void main()

3. double轉換為字串

fcvt(double _value, int _fractionaldigitcount, int *_ptdec, int *_ptsign);

改為_fcvt(char *_buffer, size_t _buffercount, double _value, int _fractionaldigitcount, int *_ptdec, int *_ptsign);

說明:轉換結果中不包含小數點和正負號

_fractionaldigitcount:取小數字數,若_fractionaldigitcount為1,則取一位小數,要四捨五入

#include using namespace std;

void main()

三、字串型轉整型

1.將字串轉為int型

int atoi(const char *_string);

2. 將字串轉為long型

long atol(const char *_string);

3. 將字串轉為long型,並報告不能被轉換的所有剩餘部分

long strtol(const char *_string, char **_endptr, int _radix);

_radix:表示進製,範圍為2~36和0

_endptr:指向字串中不合法的部分

說明:若_radix為2,則『0』、『1』合法,若_radix為10,則『0』、『1』……『9』合法,若_radix為16,則『0』,『1』……『f』合法

#include using namespace std;

void main()

如若想詳細了解該函式,請看strtol()詳解

4. 將字串轉為無符號長整型值,並報告不能被轉換的所有剩餘部分

unsigned long strtoul(const char *_string, char **_endptr, int _radix);

四、字串型轉浮點型

1. 將字串轉換為雙精度浮點型值

double atof(const char *_string);

2. 將字串轉換為雙精度浮點型值,並報告不能被轉換的所有剩餘數字

double strtod(const char *_string, char **_endptr);

c語言itoa()函式和atoi()函式詳解(整數轉字元c實現)

有關int,float,double型與字串char*型別的相互轉換

strtol()詳解

轉在於:

整型與字元型的相互轉換

最近發現做程式時經常會遇到整型與字元型的相互轉換的問題,所以我今晚就狠下心花點時間整理了下,以下是我的整理的筆記,都是關鍵 具體大家再實現吧,如有問題與我聯絡 mail rainday163 163.com 整型到字元型的轉換 1.char str 20 int a 10 sprintf str,d...

整型與浮點型相互轉換的相關問題

1.當整型值轉換float型值時,也可能損失數度 2.當float型值轉換為整型值時,那麼其結果是不可預料的 具體可以理解如下 1 當整型值轉換float型值時,也可能損失數度 假設float f 100 那麼f在記憶體中可能是99.99999,處於 浮點數的儲存結構,不能達到100 的精度,只是非...

C 字串和整型 浮點型

using system class class1 trim方法,刪除字串中的空格或其它字元 string stre stra.trim console.writeline stre stre 使用 顯示引號 和反斜線 string strf c windows system32 console.w...