我如何具体四舍五入到9个数字,忽略所说的数字是否有效


if (Equation == "." || Equation == "")
Answer = double.NaN;
else
Answer = (double)Equation.EvalNumerical();
PreviousAnswerFlag = true;
Equation = "";
Answer = double.Parse(Answer.ToString("G7", CultureInfo.InvariantCulture));
OutputBox.Content = Answer;

我正在使用WPF构建一个计算器,因为窗口有一个设定的大小,所以用于输出答案的框会在特定点将其截断(大约9个数字,不包括负数和小数符号(。目前,我使用NuGet软件包将字符串形式的方程解析为答案,并使用.ToString()将数字转换为指数,但这种情况发生在14位左右,当答案超过999999999时就会中断。

我需要一个能在九位数后将数字转换为指数形式的东西,或者一个能将数字四舍五入到九位数并计数为零的东西(就像Math.Round ()计算有效数字一样,这个数字并不总是9位数长,因为它不计算初始零(。我还需要这一点,无论是正数、负数还是小数。

OutputBox.Content = string.Format("{0:E}", Answer);

我没有做所有这些复杂的事情,而是在数字超过9的情况下,将答案格式化为指数形式。

最新更新