使用c#将科学记数法转换为长数?
我需要使用c#使用c#将科学记数法转换为长数?,c#,C#,我需要使用c# 我已经尝试过使用Double.Parse(3.58E+14,System.Globalization.NumberStyles.Float)但是它向上舍入了值,但没有返回实际的数字。您应该使用Parsefromdecimal var parsed=decimal.Parse(“8.9148E+19”,System.Globalization.NumberStyles.Float); 如果要检查和转换指数值,请使用以下命令: //your value string val = "8
我已经尝试过使用
Double.Parse(3.58E+14,System.Globalization.NumberStyles.Float)
但是它向上舍入了值,但没有返回实际的数字。您应该使用Parse
fromdecimal
var parsed=decimal.Parse(“8.9148E+19”,System.Globalization.NumberStyles.Float);
如果要检查和转换指数值,请使用以下命令:
//your value
string val = "8.9148E+19";
//create a dummy
double dummy;
//check if ist valid
bool hasExponential = (val.Contains("E") || val.Contains("e")) && double.TryParse(val, out dummy);
if (hasExponential)
{
//if it is valid parse it
decimal d = decimal.Parse(val, NumberStyles.Float);
}
什么意思?当我尝试
var a=Double.Parse(“8.9148E+19”,System.Globalization.NumberStyles.Float)时,您希望显示为字符串而不是科学记数法还是只进行计算;控制台写入线(a)代码>我得到了“8.9148E+19”。您是如何看待这个值的?我想您实际上是在讨论将double转换为字符串时的格式设置。如果要显示所有数字,请尝试double.ToString(“N”)
或double.ToString(“F0”)
-例如Console.WriteLine(double.Parse(“8.9148E+19”).ToString(“F0”)代码>