将数字转换为科学计数法并获得指数

时间:2016-07-15 08:57:42

标签: c#

如何将数字转换为科学记数法并获得指数?例如,如果我有23582并想将其转换为2.3582 x 10 ^ 4然后获得' 4'这是数字的顺序? (我使用C#)

3 个答案:

答案 0 :(得分:4)

请注意,如果数字小于1 ,结果可能为负数,因此我们使用Math.Floor来处理:

int exponent = num == 0 ? 0 : (int)Math.Floor((Math.Log10(Math.Abs(num))));

答案 1 :(得分:2)

只需使用 logarithm

  int exponent = value == 0
    ? 0 // special case: technically it should be -infinity 
    : (int) Math.Floor(Math.Log10(Math.Abs(value)));

答案 2 :(得分:0)

您可以使用以下表示法

int number = 23582;
            Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture));

输出是,

2.4E+04