1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public static string ConvertToEngineering(double d)
{
string pattern = "#.##E0";
if(d.Equals(0))
return d.ToString(pattern);
int Exponent = (int)Math.Floor(Math.Log10(Math.Abs(d)));
switch (Exponent % 3)
{
case 1:
case -2:
pattern = "##.##E0";
break;
case 2:
case -1:
pattern = "###.##E0";
break;
}
return d.ToString(pattern);
}
|