数字的输出格式

ScientificForm[expr]按照科学记数法显示所有数
EngineeringForm[expr]按照工程记数法显示所有数(10的方幂是3的倍数)
AccountingForm[expr]按照标准会计记数法显示所有数

数字的输出格式.

这些数字按照默认输出格式给出. 大数用科学记数法给出.
In[1]:=
Click for copyable input
Out[1]=
按照科学记数法给出所有数.
In[2]:=
Click for copyable input
Out[2]//ScientificForm=
按照工程记数法给出这些数,其中10的幂指数均是3的倍数.
In[3]:=
Click for copyable input
Out[3]//EngineeringForm=
按照标准会计记数法,负数放在括号中,不用科学记数法.
In[4]:=
Click for copyable input
Out[4]//AccountingForm=
NumberForm[expr,tot]最多显示 tot 位近似于 expr 的实数
ScientificForm[expr,tot]使用最多有 tot 位的科学记数法
EngineeringForm[expr,tot]使用最多有 tot 位的工程记数法

控制实数的显示精度.

这里 计算到30位.
In[5]:=
Click for copyable input
Out[5]=
这里仅显示 的10位数字.
In[6]:=
Click for copyable input
Out[6]//NumberForm=
这里以工程记数法给出了12 位有效数字.
In[7]:=
Click for copyable input
Out[7]//EngineeringForm=
选项名称
默认值
DigitBlockInfinity两分隔符之间一组数字的最大长度
NumberSeparator{","," "}在小数点左边和右边的数字之间的空格位置要插入的字符串
NumberPoint"."用作小数点的字符串
NumberMultiplier"[Times]"在科学记数法中用作乘法记号的字符串
NumberSigns{"-",""}用作正负数标记的字符串
NumberPadding{"",""}用作左右填充符(padding)的字符串
SignPaddingFalse是否在符号后插入填充符
NumberFormatAutomatic产生数字最终格式的函数
ExponentFunctionAutomatic决定是否使用指数的函数

数字格式选项.

表中除最后一个选项外的所有选项适用于整数和近似实数.

所有的选项均可用于函数 NumberFormScientificFormEngineeringFormAccountingForm. 事实上,这些函数中某个函数行为的再现,可以通过对其它三个函数之一进行适当的选项设置实现. 表中所列的默认选项设置是对 NumberForm 设置的.

设置 DigitBlock->n 将数字每 位分成一组.
In[8]:=
Click for copyable input
Out[8]//NumberForm=
可以用任意字符串将数字分组.
In[9]:=
Click for copyable input
Out[9]//NumberForm=
这里对正数显式给出加号,且用 代表小数点.
In[10]:=
Click for copyable input
Out[10]//NumberForm=

Wolfram 语言显示近似实数时,必须对是否使用科学记数法作出选择,如果是,还要知道小数点左边有多少位. 如果使用科学记数法,Wolfram 语言首先找到10的幂指数是多少,并给出小数点左边一位数字. 然后取这个指数值,应用于以选项 ExponentFunction 给出的任意函数. 这个函数的返回值是实际使用的指数,如果不使用科学记数法则返回 Null.

默认格式是对于数字的10的幂指数在 之外时使用科学记数法.
In[11]:=
Click for copyable input
Out[11]=
这里仅对幂指数大于或等于10的数字使用科学记数法.
In[12]:=
Click for copyable input
Out[12]//NumberForm=
这里要求所有10的幂指数必须是3的倍数.
In[13]:=
Click for copyable input
Out[13]//NumberForm=

在确定了尾数和指数之后,最后一步是将这些组合在一起将对象输出. 选项 NumberFormat 允许给出任意函数设定数字的显示形式. 该函数取三个字符串作为变量:尾数,基底和指数. 如果无指数,则给出 .

这里用类似于 Fortran 中 e 格式的形式给出指数.
In[14]:=
Click for copyable input
Out[14]//NumberForm=
可使用 FortranForm 以 Fortran 格式显示每个数.
PaddedForm[expr,tot]所有数字用 tot 位显示,不足时前面加空格
PaddedForm[expr,{tot,frac}]所有数字用 tot 位显示,小数点右边有 frac
NumberForm[expr,{tot,frac}]所有数字最多有 tot 位,其中小数点右边有 frac
Column[{expr1,expr2,}] 左对齐排在一列

输出中数字对齐方式的控制.

当在一列中或以其它明确的方式显示一组数字时,通常需要将这些数字按一定方式对齐. 通常希望设置所有数字,使得对应于某一幂指数的位总是出现在数字显示区域中的同一位置.

通过不同的填充方式可以改变数字显示格式中各位的位置. 通常可以通过在小数点后加零进行右填充,或者通过在数字的前面加空格进行左填充.

加空格,使每个整数占用的位数达到7.
In[16]:=
Click for copyable input
Out[16]//PaddedForm=
产生一个整数列.
In[17]:=
Click for copyable input
Out[17]//PaddedForm=
各个数字显示7位,其中小数点后为4位.
In[18]:=
Click for copyable input
Out[18]//PaddedForm=
NumberForm 中,7设定的是最大精度,但 Wolfram 语言并不用空格填充.
In[19]:=
Click for copyable input
Out[19]//NumberForm=
如果设置选项 SignPadding->True,Wolfram 语言将在符号之后空格填充.
In[20]:=
Click for copyable input
Out[20]//PaddedForm=
当使用科学记数法时,仅尾数部分对齐.
In[21]:=
Click for copyable input
Out[21]//PaddedForm=

选项 NumberPadding 使用默认设置时,NumberFormPaddedForm 从右边填充一个数时插入尾随零(trailing zeros). 通过设置 NumberPadding->{" "," "} 可以用空格进行左右填充.

这里使用空格而不是零进行右填充.
In[22]:=
Click for copyable input
Out[22]//PaddedForm=
BaseForm[expr,b]b 进制下显示所有数

其它进制下的数字显示.

显示2进制下的数字.
In[23]:=
Click for copyable input
Out[23]//BaseForm=
在进位制大于10时,使用字母表示数位的数字.
In[24]:=
Click for copyable input
Out[24]//BaseForm=
BaseForm 对近似实数仍然有效.
In[25]:=
Click for copyable input
Out[25]//BaseForm=
BaseForm 也可用在以科学记数法显示的数中.
In[26]:=
Click for copyable input
Out[26]//BaseForm=

"不同形式的数之间的转换" 讨论在任意进位制下数的输入,以及如何得到数字各个位的列表.