Spotfire® 用户指南

数据类型

该列表显示了可用的数据类型。

注: Real 和 SingleReal 使用值的二进制浮点数表示。这意味着由于使用基数 2 的计算的性质,某些计算应使偶数可能显示为需要进行四舍五入的数字。当执行完一个计算后再执行更多计算时,错误可以累计并可能会成为问题。
数据类型 说明
Integer 整数值被写为一个数字序列,可能会以 + 或 - 号为前缀。您可以指定从 -2147483648 到 2147483647 的整数值。如果要在预期的位置使用小数值,整数值将自动转换为小数值。
注: 自定义表达式和计算列中可使用十六进制值。打开数据时不能使用这些十六进制值。十六进制格式的值具有 8 个字符的大小限制。

示例:

0

101

-32768

+55

0xff = 255

0x7fffffff = 2147483647

0x80000000 = -2147483648

LongInteger 如果标准整数的范围不能满足您的需求,可以使用长整型。范围从 -9223372036854775808 到 9223372036854775807。在没有精度损失的情况下,不能将长整型转换为实数,但可将其转换为货币。
注: 自定义表达式和计算列中可使用十六进制值。打开数据时不能使用这些十六进制值。

示例:

2147483648

Real 实数值被写为小数点使用句点的标准浮点数且没有千分位分隔符。您可以从 -8.98846567431157E+307 到 8.98846567431157E+307 指定实数值。

即使可在计算中使用 16 个有效数字,可显示的有效数字的数目也限制为 15 个。

对实值进行的可生成不能由实数数据类型表示的结果的数学运算将生成数值错误。在结果数据表中,这些特殊情况将被筛选掉并替换为空值。

示例:

0.0

0.1

10000.0

-1.23e-22

+1.23e+22

1E6

SingleReal 单精度实数值被写为精确度和范围都比实数低的标准浮点数。与实数相比,单精度实数占用的内存少 50%。您可以从 -1.7014117E+38 到 1.7014117E+38 指定单精度实数值。

即使可在计算中使用 8 个有效数字,可显示的有效数字的数目也限制为 7 个。

在只有很少的精度损失情况下,单精度实数可以转换为实数。

Currency 货币常数被写为整数或带有 'm' 后缀的实常数。

货币类型后面的数据格式为小数。小数数据格式在其计算中使用基数 10,这表示在此格式中可避免执行二进制计算时可能出现的舍入误差。但是,这也表示繁重的计算将需要更长的时间。

货币值可显示的有效数字的数目为 28 个(可在计算中使用 29 个)。您可以从 -39614081257132168796771975168 到 39614081257132168796771975168 指定货币值。

货币无法在没有精度损失的情况下转换为实数。

Date 日期格式。显示方式取决于计算机上的区域设置和格式。支持 1583 年 1 月 1 日及之后的日期。

示例:

2006/6/12

6 月 12 日

2006 年 6 月

DateTime 日期和时间格式。显示方式取决于计算机上的区域设置和格式。支持 1583 年 1 月 1 日及之后的日期。

示例:

2006/6/12

2006-06-12 13:05:00

2006-06-12 10:14:35

2006-06-12 10:14:35

Time 时间格式。显示方式取决于计算机上的区域设置和格式

示例:

10:14

10:14:35

TimeSpan 时间跨度是说明两个日期之间的区别的值。

它包含以下 5 个可能的字段:

  1. 最小:-10675199
  2. 最大:10675199

小时

  1. 最小:0
  2. 最大:23

分钟

  1. 最小:0
  2. 最大:59

  1. 最小:0
  2. 最大:59

分数(小数秒)

  1. 最多为三位小数,也就是说,精度为 1 ms。

能够以紧凑形式显示 TimeSpan 值:[-]d.h:m:s.f ([-]days.hours:minutes:seconds.fractions) 或者用单词或缩写写出每个可用字段。某些描述性形式可以本地化。

最小总计:-10675199.02:48:05.477

最大总计:10675199.02:48:05.477

Boolean 真与假。布尔值可用于表示由比较运算符和逻辑函数返回的真假值。

显示值可本地化。

示例:

true

false

1 < 5

String 字符串值括在双引号或单引号中。在行中输入分隔符符号两次(即 '' 或 "")可以进行转义。字符串值可包含任何 UNICODE 字符的序列。不能在字符串中使用双引号,除非进行转义。反斜杠用于转义特殊字符,因此必须也必须进行转义。

基本转义规则是,只有如下定义的字符才可在 \ 之后使用;其他字符将产生错误。

示例:

"Hello world"

"25""23"

"1\n2\n"

"C:\\TEMP\\image.png"

Binary 可能包含任何数据类型,以二进制形式进行编码。

示例:

图像

化学结构信息

转义序列

转义序列 结果
\uHHHH 任何 Unicode 字符用四个十六进制字符(0-F)表示。
\DDD 0 到 255 范围内的字符用三个八进制数字(0-7)表示。
\b \u0008: backspace (BS)
\t \u0009: horizontal tab (HT)
\n \u000a: linefeed (LF)
\f \u000c: form feed (FF)
\r \u000d: carriage return (CR)
\\ \u005c: backslash \

转换为其他数据类型

表达式中支持的数据类型与数据模型中支持的类型相同。将值从一个数据类型转换为其他数据类型称为转换。

在计算中使用整数列时将会隐式转换到实数,结果为非整数。如果结果是整数但超出整数数据类型的限制,则将隐式转换为长整型。整数还可以隐式转换为货币。例如,如果已添加整数和货币列,则结果将为货币列。

长整型中的结果超出长整型的限制时,您最终得到的可能是货币。这是因为在没有损失精确度风险的情况下,长整型不能转换为实数。使用时间跨度的所有运算(简单的时间跨度转换除外)将返回日期时间。对于任何其他转换,必须使用转换函数计算新列或用于自定义表达式。二进制对象不能被转换为任何其他数据类型。

使用更改数据类型转换,可同时转换多列的数据类型。