科学计数法中的阶乘

Posted

技术标签:

【中文标题】科学计数法中的阶乘【英文标题】:Factorial in Scientific notation [duplicate] 【发布时间】:2016-08-04 14:44:38 【问题描述】:

我想以科学计数法显示数字的阶乘。

例如 - 100! = "9.332621544e+157"

除了NumberFormat,还有其他方法吗?到目前为止,这是我的代码 -

BigDecimal res=new BigDecimal("1");
for(int i=2;i<=x;i++)
   res=res.multiply(BigDecimal.valueOf(i));

str=String.valueOf(res+"");
display.setText(str);

如果这个问题难以理解,我真的很抱歉。任何帮助,将不胜感激。提前致谢。

【问题讨论】:

NumberFormat 有什么问题? 我的老师没有教那个......所以我不能在我的项目中使用它:) 所以它一定是自制的解决方案吧? 只有在没有其他方法可以做到这一点的情况下:) 【参考方案1】:

不好看但是变了

str=String.valueOf(res+""); 

String str=res.doubleValue()+""; 

会做好的

【讨论】:

【参考方案2】:

使用 NumberFormat 是可行的方法,但如果您不想使用它,可以使用 PrintStream

更多信息请见Formatting Numeric Print Output

【讨论】:

以上是关于科学计数法中的阶乘的主要内容,如果未能解决你的问题,请参考以下文章

如何让EXCEL中的数据用科学计数法显示

Java中如何使用科学计数法

科学计数法中的尾数基指数

控制科学计数法中的小数位数[重复]

Python中科学计数法中的指数数字

我如何知道字符串是不是是科学计数法中的数字?