如何从字符串计算浮点值

How to calculate float value from string

我不知道如何从字符串计算浮点值

float x = 300.0F;
Dictionary<short, string> stringDict = new Dictionary<short, string>();
Dictionary<short, string> whiteSpace = new Dictionary<short, string>();

string row1 = new String(' ', 67);
whiteSpace.Add(1, row1);
stringDict.Add(1, rtBox.Substring(12, 31).Replace("\n", " "));

graphicsObj.DrawString(whiteSpace[i] + stringDict[i], drawFont, drawBrush, x, y, drawFormat);

预期输出为:

graphicsObj.DrawString(stringDict[i], drawFont, drawBrush, x + whiteSpace[i] float lenght, y, drawFormat);

如何计算此浮点值以便省略绘图空格?

编辑 1:下面的代码不起作用,它没有在 x 轴上移动绘图。

for (short i = 1; i <= 28; i++)
{
     SizeF rowSize = graphicsObj.MeasureString(whiteSpace[i], drawFont);
     float widthRow = rowSize.Width;
     graphicsObj.DrawString(stringDict[i], drawFont, drawBrush, x + widthRow, y, drawFormat);
      y += 15.0F;
}

如果你想计算字符串的大小,你可以尝试使用 MeasureString,但是,根据 this 的问题,这对只有空 [=15= 的字符串不起作用]s。作为解决方法,您可以尝试在空字符串的末尾添加一个字符,或者简单地将空 space 替换为另一个字符以获得度量值,例如:

string row1 = new String(' ', 66) + "#";
SizeF rowSize = graphicsObj.MeasureString(row1, drawFront);
float width = rowSize.Width;
float height = rowSize.Height;