本文整理汇总了C++中VNode::SetupInteger方法的典型用法代码示例。如果您正苦于以下问题:C++ VNode::SetupInteger方法的具体用法?C++ VNode::SetupInteger怎么用?C++ VNode::SetupInteger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VNode
的用法示例。
在下文中一共展示了VNode::SetupInteger方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParseNumericVNode
//.........这里部分代码省略.........
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-1f);
return (newNode);
break;
case 'c': // centi
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-2f);
return (newNode);
break;
case 'm': // milli
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-3f);
return (newNode);
break;
case 'u': // micro
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-6f);
return (newNode);
break;
case 'n': // nano
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-9f);
return (newNode);
break;
case 'p': // pico
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1) * 1E-12f);
return (newNode);
break;
default:
break;
}
}
// Is this a floating point value
if (Utils::Strchr(buf, '.'))
{
newNode->SetupFPoint((F32) Utils::AtoF(buf) * (negate ? -1:1));
}
else
{
int val = 0;
// Is this a binary number
if ((len > 1) && toupper(buf[len-1]) == 'B')
{
// Binary integer
for (int digit = 0; digit < len-1; digit++)
{
char c = buf[len-digit-2];
if (c == '1')
{
val += 1<<digit;
}
else if (c != '0')
{
tBuf->TokenError("Invalid character in binary number");
}
}
}
else
// Is this a hexadecimal number
if ((len > 2) && (toupper(buf[1]) == 'X'))
{
for (int digit = 0; digit < len-2; digit++)
{
char c = buf[len-digit-1];
if (isxdigit(c))
{
val += (isdigit(c) ? c-'0' : toupper(c)-'A'+10) << (digit * 4);
}
else
{
tBuf->TokenError("Invalid character in hexadecimal number");
}
}
}
else
{
// Must be a decimal value
if (!isdigit(*buf))
{
tBuf->TokenError("Invalid numeric value");
}
// Convert to integer
val = Utils::AtoI(buf);
}
// Setup node as integer
newNode->SetupInteger(val * (negate ? -1:1));
}
// return the new VNode
return (newNode);
}