科学计数法中的阶乘
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
【讨论】:
以上是关于科学计数法中的阶乘的主要内容,如果未能解决你的问题,请参考以下文章