Please enable JavaScript to view this site.

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",四舍五入到三位,等等。

结果将显示在结果页面上。实际上,它们会比你想要的多显示一位数,而且最后一位数总是零。您可以使用 "格式小数 "格式少显示一位小数。

 

© 1995-2019 GraphPad Software, LLC. All rights reserved.