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