C 自定義函式資料型別轉換

2021-08-15 12:12:41 字數 1375 閱讀 3859

主要**如下:

//獲取字串的長度函式(每個漢字2個位元組長度)

int getstringlength(string str)

return ret;

}//double轉化為字串函式

string doubletostring(double d)

else

std::dequeintdeq, decdeq;

int h = (int)high;

if (isnegative)

if (h < 10)

else }

if (low > 0) }

else

std::string retval;

retval.resize(intdeq.size() + decdeq.size() + 2);

int i = 0;

for (const auto& e : intdeq)

retval[i++] = '.';

for (const auto& e : decdeq)

if (isnegative)

return retval;

}//字串轉換為double函式

double stringtodouble(string str)

if (str[i] >= '0'&&str[i] <= '9')

else

}i++;

} double retval = 0.0;

i = 0;

for (const auto& e : intdeq)

i = 1;

for (const auto& e : decdeq)

return retval;

}

測試**如下:

int nlen = getstringlength("a345闔家歡樂ff;$%^");

auto ff1 = stringtodouble(".12");

auto ff2 = stringtodouble("12.345");

auto ff3 = stringtodouble("123.45g.67y");

auto ss1 = doubletostring(12.345);

auto ss2 = doubletostring(-16.10001);

cout << nlen << '\t' << ff1 << '\t' << ff2 << '\t'

<< ff3 << '\t' << ss1 << '\t' << ss2 << endl;

執行結果如下:

18      0.12    12.345  123.457 12.345000000000000

資料型別轉換與自定義函式

1.int float str bool 使用以上四種函式可以對不同變數型別進行轉換。例如 int 123 float 3.3 str 111 bool 0 上面例子中,前兩個語句將字串分別轉換為了整數型和浮點型,第三個語句將整數型轉換成字串,最後乙個將資料轉換成布林型。注意,對於bool轉換,只有...

C 自定義資料型別

c 除了提供多種基本的資料型別 如 int float double char等 供使用者使用外,還允許使用者根據需要自己宣告一些型別,例如陣列 結構體 structure 型別 共用體 union 型別 列舉 enumeration 型別 類 class 型別等,這些統稱為 使用者自定義型別 us...

C 自定義資料型別

c 中有以下幾種自定義資料型別方式 typedef union enum typedef只是用於重新命名一種已有的資料型別。typedef char c c c即char c typedef char field 50 field s即char 50 注意第二種用法,陣列的維數 50 是寫在最後的。...