Prism可以存储多少位数字?
在Prism 7之前,Prism只存储七位数字(实际上它是二进制的,因此“约”为七位十进制数字),因此并非总是存储您输入的精确值。例如,如果您在数据表中输入值99.2492427,Prism会将其舍入为99.249250。
Prism现在以双倍精度存储数字,因此其可以存储约14位有效数字。如果您在数据表中输入值99.2492427,则Prism会将其存储为99.2492427
如何显示少于您输入的数字
默认情况下,Prism会显示您输入的所有数字,并增加小数点后的位数以容纳多余的数字。但是您可以使用“十进制格式”对话框显示较少数字。且分析结果也可以进行舍入处理。
仅在查看Prism数据表时,在该表上看到的内容才有意义。注:
•选择在数据表上显示较少的数字不会影响Prism分析或绘制数据的方式。分析始终以您输入的所有数字(最多不超过Prism能够存储的数字)为基础。
•保存Prism文件(保存为.PZF或者.PZFX)时,Prism保存您输入的所有数字(最多14位),因此在保存时,这些值不会截断。
•将数据从Prism数据表复制到剪贴板时,Prism会复制您输入的值,而不仅仅是您在表上看到的数字。
•将数据表导出为.TXT或.CSV文件时,Prism会导出您输入的数字,而不只是表中显示的数字。
舍入
有两个问题会使舍入处理变得不稳定。
•下一个数字是5时。除非下一个数字是5,否则舍入值很直接。2.5应向上舍入为3,还是向下舍入为2?两者具有同等准确度,且已经提出许多策略来处理该问题。维基百科中有关舍入的文章解释了许多可能性。 Prism对以5结尾的值的舍入有点不可预测。例如,0.25向上舍入为0.3,但0.45向下舍入为0.4。这些都是正确的,因为对以5结尾的值的舍入是一个任意决定。Prism Windows使用C函数sprintf ()来显示实数。Mac Xcode编译器使用的功能相似但不完全相同。
•十进制到二进制到十进制。计算机将数字存储为二进制数字,因此需要进行十进制变换。对于许多值,这也需要舍入。例如,假设您键入数字0.055,然后要求Prism将显示仅具有两位小数的值。下一个(第三个)数字是5。下一个数字是5时,一个常见的规则是向上舍入,因此Prism将显示0.06。但是计算机不能存储值0.055。取而代之的是,所有值均变换为二进制,变换回十进制时,二进制值接近0.05499996。将该值舍入到两位小数时,下一位(第三位)是4。因此Prism Windows在此情况下向下舍入,显示0.05。而Prism Mac在此情况下向上舍入,显示0.06。
Prism 8的舍入机制
“设置十进制格式”对话框会将您在表格上看到的内容进行向下舍入处理。但编辑数据时,您输入(或导入或粘贴)的所有数字仍然存在。从Prism 8开始,您可以使用变换将数据舍入到指定位数。这是一个用于X和Y值的内置变换(列表底部)。
结果将显示在结果页上。实际上,它们将显示比您想要的多一位数字,且最后一位将始终为零。您可以使用“设置十进制格式”来少显示一位小数。在结果页中,可以进行进一步分析,或者复制或导出舍入值。
Prism早期版本的舍入
点击“分析”并选择变换。然后选择“用户定义的Y变换”。然后点击“添加...”,添加新函数。下面是一个将数字舍入到小数点后仅包含两位数的变换:
Y=Floor(Y*10^2+0.5)/10^2
该变换将Y值乘以10^2或100,加上0.5,然后向下舍入到下一位整数(这是Floor函数的功能)。然后除以100。
将两处的“2”改为“3”,舍入到三位数,依此类推。
结果将显示在结果页上。实际上,它们将显示比您想要的多一位数字,且最后一位将始终为零。您可以使用“设置十进制格式”来少显示一位小数。