使用C#将科学计数法转换为长数?

时间:2019-11-29 11:06:57

标签: c#

我需要使用 c#

8.9148E+19转换为数字格式

我已经尝试过使用Double.Parse(3.58E+14, System.Globalization.NumberStyles.Float),但是它会将值四舍五入,但没有返回实际数字。

2 个答案:

答案 0 :(得分:0)

您应该使用Parse中的decimal

var parsed = decimal.Parse("8.9148E+19", System.Globalization.NumberStyles.Float);

答案 1 :(得分:0)

如果要检查并转换指数值,请使用以下方法:

//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);
}