bool startWith(const std::string& aStr, const char* aPrefix)
{
return strncmp(aStr.c_str(), strlen(aPrefix), aPrefix) == 0;
}
int ParsePrefix(const std::string& aUnitsStr)
{
const char* prefixes[] = {
"Y", "Z", "E", "P", "T", "G", "M", "k", "h", "da",
"d", "c", "m", "μ", "n", "p", "f", "a", "z", "y",
};
int powerOfTen[] = {
24, 21, 18, 15, 12, 9, 6, 3, 2, 1, −1,
−2, −3, −6, −9, −12, −15, −18, −21, −24,
};
for (int i = 0; i < sizeof(prefixes); ++i)
{
if (startsWith(aUnitsStr, prefixes[i]))
{
return powerOfTen[i];
}
}
return 0;
}
int ParseUnits(const std::string& aUnitsStr)
{
}