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位数和当答案超过999,999,999时,中断。
我需要的东西,将转换后的数字到指数形式的9位数或东西,将数字舍入到9位数,计数零(作为Math.Round ()
的有效数字,数字并不总是9位数长,因为它不计算初始零).我还需要这个工作,无论是正数,负数或小数.
1条答案
按热度按时间ghhaqwfi1#
我没有做这些复杂的事情,而是在数字超过9位的情况下将答案格式化为指数形式。