我有double value = 30308950000;
我希望将其显示为3.03x10^10
如何使用C#实现它?
我试过了
double value = 30308950000;
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
output = 3.03E+10
我不想要3.03E+10
格式,而是3.03x10^10
。
感谢
答案 0 :(得分:1)
轻松修复:
double value = 30308950000;
Console.WriteLine(
value.ToString("0.###E+0", CultureInfo.InvariantCulture)
.Replace("E-","x10^-")
.Replace("E+","x10^"));
向Jon Skeet致敬! :)
答案 1 :(得分:0)
可悲的是,NumberFormarInfo并未提供任何 ExponentialSign 参数。
即Exponential Format Specifier (E),NumberFormarInfo仅使用来自ICustomFormatter的NegativeSign,NumberDecimalSeparator和PositiveSign信息。
要执行"在模式" 中,您必须使用自己的here实施,例如https://github.com/fyhertz/libstreaming。