"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 Post a Comment:

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ẻ.

Kết nối bạn bè

Wikipedia

Search results

Video Nổi bật

Video tổng hợp

Cảm ơn các bạn đã ghé thăm

 
Please Enable Javascript!Enable JavaScript