![]() |
#2
Escapist2021-07-05 21:32
|
代码

static void ToString(double DoubleValue, EspString& StringValue)
{
StringValue.Empty();
if (DoubleValue == 0.0)
{
StringValue.Append('0');
return;
}
bool IsNeg = DoubleValue < 0;
if (IsNeg)DoubleValue = -DoubleValue;
while (DoubleValue >= 1)
{
StringValue.Append(((int)DoubleValue % 10) + 48);
DoubleValue /= 10;
}
if (IsNeg)
StringValue.Append('-');
StringValue.Reverse();
if (DoubleValue == 0.0)
return;
StringValue.Append('.');
while (DoubleValue != 0)
{
DoubleValue *= 10;
StringValue.Append(((int)(DoubleValue) % 10) + 48);
}
}
{
StringValue.Empty();
if (DoubleValue == 0.0)
{
StringValue.Append('0');
return;
}
bool IsNeg = DoubleValue < 0;
if (IsNeg)DoubleValue = -DoubleValue;
while (DoubleValue >= 1)
{
StringValue.Append(((int)DoubleValue % 10) + 48);
DoubleValue /= 10;
}
if (IsNeg)
StringValue.Append('-');
StringValue.Reverse();
if (DoubleValue == 0.0)
return;
StringValue.Append('.');
while (DoubleValue != 0)
{
DoubleValue *= 10;
StringValue.Append(((int)(DoubleValue) % 10) + 48);
}
}
但是启动了之后没有任何反应,而且过了很长时间报错——0x7646A6F2 处(位于 ***.exe 中)有未经处理的异常: Microsoft C++ 异常: char,位于内存位置 0x0118FE88 处。
请问到底是怎么回事呢?有什么方式来避免呢?谢谢各位大佬~~