"Hành trình vạn dặm bắt đầu từ những bước đi đầu tiên"

せんりのみちもいっぽから

Aug 17, 2019

Tách chuỗi (tìm từ 3 ký tự trở lên)

string CReadDataDlg::tachchuoi(string strData)
{
//strTest = "TOTAL PLU005 No.000000 I.N.U NET : 10210.0  g U / W : 1220  g PCS : 0 Tare : g Gross     0.0  g";
string strNoSpace = " ";
//TACH TAT CA KI TU ' ', XUONG DONG'\r', '\n', ':'
for (int i = 0; strData[i]; i++)
{
if (strData[i] != ' ' && strData[i] != '\r' && strData[i] != '\n'
&& strData[i] != ':')
strNoSpace = strNoSpace + strData[i];
}

// uppercase-- DOI CHU THUONG THANH IN HOA
std::for_each(strNoSpace.begin(), strNoSpace.end(), [](char & c) {
c = ::toupper(c);
});
//TIM DEN CUM "NET"
size_t found = strNoSpace.find("NET");
// CAT CHUOI TU DAU DEN "NET " + THEM 3 KY TU
string str = strNoSpace.substr(found + 3, strNoSpace.length() - 1);

int iElement = 2;// KHAI BAO CHUOI LAY VE . GIA SU LA 2 KY TU
string strRes = "0";
string strRes1 = "";
// QUET TAT CA KY TU LA NUMBER CHO DEN KHI GAP KI TU CHUOI SE THOAT KHOI VONG LAP
while (isFloat(strRes) || iElement > (str.length()-2))
{
strRes = str.substr(0, iElement);

if (isFloat(strRes))
strRes1 = strRes;
iElement++;
}

return strRes1;
return " ";
}
// Hàm tìm ký tự là số
bool CReadDataDlg:: isFloat(string myString) {
std::istringstream iss(myString);
float f;
iss >> noskipws >> f;  
return iss.eof() && !iss.fail();
}

0 comments:

Post a Comment

Cảm ơn bạn đã chia sẻ ý kiến!
Chúc bạn có một ngày thật vui vẻ.

:) :( :)) :(( =)) =D> :D

Kết nối bạn bè

Wikipedia

Search results

Video Nổi bật

Video tổng hợp

Thống kê