歡迎您光臨本站 註冊首頁

linux下的浮點數到字元串的轉換函數

←手機掃碼閱讀     火星人 @ 2014-03-26 , reply:0

  linux下頭文件中有一個可以將浮點數轉換為字元串的函數gcvt:
QUOTE:
1 #include
2
3 int main(int argc, char ** argv)
4 {
5 double a = 13443.5;
6 double b = 13443.3;
7
8 char ptr1[10] = {0};
9 char ptr2[10] = {0};
10
11 gcvt(a, 5, ptr1);
12 printf("result is %s\n", ptr1);
13
14 gcvt(b, 5, ptr2);
15 printf("result is %s\n", ptr2);
16
17
18 exit(0);
19 }

  以上是一個簡單的測試例子,可以看出該函數能夠指定轉換的位數,並且超出部分可以做四捨五入處理。

  但有一點要注意的是,傳入的char * ptr參數一定要用自己定義並且分配空間的字元串,不能使用char * ptr,後者雖然編譯沒有問題,但是在運行時會出現segment fault。

  這應該是由於系統不想自己分配空間的緣故吧,因為那樣的話,使用者必須牢記要釋放這個分配的空間。

[火星人 ] linux下的浮點數到字元串的轉換函數已經有227次圍觀

http://coctec.com/docs/linux/show-post-186512.html