我想在SCILAB中更改输出格式,已尝试使用不同的mode() 但仍然得到如下结果。
--> a=factorial(20)
a =
2.433D+18
答案 0 :(得分:0)
很遗憾,the Scilab's format
function page的更新不是很好。完整的语法是:
[ResultMode, ResultWidth] = format(InputMode, InputWidth)
其中InputMode
是一个字符串,对于“自适应格式”,其值为"v"
,对于
"e"
指数/工程/科学表示法(例如-1.438E + 02)
InputWidth
应该是1-25
之间的正整数,表示位数。顺便说一下,两个输入都是可选的。 ResultMode
是1
的整数,用于自适应,而0
是指数格式。 ResultWidth
也是一个正整数。
问题在于,除非您指定了足够的InputMode
,否则将"v"
设置为InputWidth
并不能保证您使用常规符号。在这种情况下,您的结果有19位数字:
2,432,902,008,176,640,000
由于某些原因,您必须指定21位数字的InputWidth
:
format("v", 21);
获得想要的东西
--> a = factorial(20)
a =
2432902008176640000.