数值函数

数值函数处理数据的内部数据类型数值型十进制数类型
数值函数用于计算数值。
精度计算(有效数字计算结果)可能会改变一个数值型或十进制类型。 详情请参照数值型



四则运算:加法函数(Sum)
涵义
计算数值(日期)的和。
返回值
参数名 注释
数值型(日期型) 计算结果。
若参数是一个日期型和一个数值型,将返回表示为日期时间的日期型数据。 此值作为增加天数结果,将数值型参数(数值计算1天位1.0)表示为日期时间(以日期型参数表示)。 (日期经过计算函数根据增加天数在日历中计算出一个日期。)
当参数是一个日期型和另一个日期型,那日期型值(日、月、年)和日期型(小时、分、秒)将分别结合起来并被写入。 当两个参数皆为日期型时,仅有年月日的日期型数据与仅有时分秒的日期型数据相加,那么两者合成为年月日时分秒的日期型数据并返回。 一般而言,仅有年月日的两个日期型数据相加或是仅有时分秒的两个日期型数据相加,其结果将是无意义的。
详细参数
可以使用参数追加按钮来追加参数。 每次单击参数追加按钮只能追加一个"计算对象数值(日期/时间)"参数。
参数名 数据类型 注释
计算对象数值(日期/时间) 数值型(日期型) 指定计算的数值对象和日期/时间对象。
计算对象数值(日期/时间) 数值型(日期型) 指定计算的数值对象和日期/时间对象。
补充说明


四则运算:减法函数(Diff)
涵义
计算数值(日期)的差。
返回值
数据类型 注释
数值型(日期型) 计算结果。
当日期型参数与数值型参数相减时,将返回日期型数据。 该表示为日期/时间的相减结果,是由日期型参数减去数值型参数(数值1.0计算为一天)所得到的天数。 当一个日期型参数减去另一个日期型参数,作为经过的天数(数值1.0计算为一天)将返回一个数值型的数据,它是两个日期型参数的差。
(除了上述方法以外,日期间隔计算函数也可以在日历中以减去天数来计算出一个日期)
当以数值型参数减去日期型参数时,数值型参数代表经过的天数(1天为数值1.0),日期型参数代表仅含有时间(时分秒)的数据。它们相减后得到的结果为经过的天数,返回的值为数值型。 显示的数值型值被返回。 一般来说,含有日期/时间(既有年月日又有时分秒的日期型数据)的日期型数据相减,其结果将是无意义的。
详细参数
可以使用参数追加按钮来追加参数。
每次单击参数追加按钮只能追加一个"计算对象数值(日期/时间)"参数。
举个例子,若有3个参数,那就意味着
"第一个 参数" - "第二 参数" - "第三 参数"
参数名 数据类型 注释
计算对象数值(日期/时间) 数值型(日期型) 指定计算的数值对象和日期/时间对象。
计算对象数值(日期/时间) 数值型(日期型) 指定计算的数值对象和日期/时间对象。
补充说明
  • 当算术运算发生溢出,函数将异常结束。
  • 当算术运算中日期型数据超出范围,函数将异常结束。
  • 当"计算对象数值(日期/时间)"参数的其中任意一个为NULL,返回值也将为NULL。


四则运算:乘法函数(Mult)
涵义
计算数值的积。
返回值
数据类型 注释
数值型 计算结果。
详细参数
可以使用参数追加按钮来追加参数。
每次单击参数追加按钮只能追加一个"计算对象数值"参数。
参数名 数据类型 注释
计算对象数值 数值型 指定计算的数值对象。
计算对象数值 数值型 指定计算的数值对象。
补充说明
  • 当算术运算发生溢出,函数将异常结束。
  • 当"计算对象数值"参数的其中任意一个为NULL,返回值也将为NULL。


四则运算:division(Div)
涵义
计算数值的商。
返回值
数据类型 注释
数值型 计算结果。
详细参数
参数名 数据类型 注释
计算对象数值 数值型 指定计算的数值对象(被除数)。
计算对象数值 数值型 指定计算的数值对象(除数)。
补充说明
  • 当除数为0,函数将异常结束。
  • 当"计算对象数值"参数的其中任意一个为NULL,返回值也将为NULL。 即便"计算对象数值(除数)"参数为NULL,返回值也为NULL。


四则运算:求余函数(Mod)
涵义
计算2个数值除法的余数。
返回值
数据类型 注释
数值型 计算结果。
返回值符号与被除数符号相同(第一个参数)。
详细参数
参数名 数据类型 注释
计算对象数值 数值型 指定计算的数值对象(被除数)。
计算对象数值 数值型 指定计算的数值对象(除数)。
补充说明
  • 当除数为0,函数将异常结束。
  • 当"计算对象数值"参数的其中任意一个为NULL,返回值也将为NULL。


绝对值函数(Abs)
涵义
求指定值的绝对值。
返回值
数据类型 注释
数值型 计算结果。
详细参数
参数名 数据类型 注释
计算对象数值 数值型 指定计算数值的对象。
补充说明
  • 当"计算对象数值"参数为NULL,返回值也将为NULL。


四舍五入函数(Round)
涵义
将指定数值四舍五入。
返回值
数据类型 注释
数值型 计算结果。

详细参数
参数名 数据类型 注释
四舍五入计算对象数值 数值型 指定计算的数值对象。
小数有效位数 数值型 在小数的四舍五入中的小数有效位数。
若在小数位中四舍五入,请将小数有效位数设置为0。
若在整数位中四舍五入,请将小数有效位数设置为负数。
当此参数没有被指定,小数位将被四舍五入。
补充说明
  • 当"小数有效位数"参数不是一个整数值(小数部分不为零),函数将异常结束。
  • 当算术运算发生溢出,函数将异常结束。
  • 当"四舍五入计算对象数值"参数为,返回值也将为NULL。
  • 当"小数有效位数"参数为NULL,将视为"小数有效位数"参数指定为0。
举例:
四舍五入计算对象数值 小数有效位数 计算结果
123.456 -2 100.000
123.456 -1 120.000
123.456 0 123.000
123.456 1 123.500
123.456 2 123.460
-1.4 0 -1.0
-1.5 0 -2.0


舍去函数(Trunc)
涵义
将指定数值,按有效位数舍去。
返回值
数据类型 注释
数值型 计算结果。

详细参数
参数名 数据类型 注释
舍去计算对象值 数值型 指定计算数值的对象。
小数有效位数 数值型 在小数舍去中的小数有效位数。
若在小数中舍去,请将小数有效位数设置为0。
若在整数位中舍去,请将小数有效位数设置为负数。
当此参数没有被指定,小数位将被舍去。
补充说明
  • 当"小数有效位数"参数不是一个整数值(小数部分不为零),函数将异常结束。
  • 当"舍去计算对象值"参数为,返回值也将为NULL。
  • 当"小数有效位数"参数为NULL,将视为"小数有效位数"参数指定为0。
举例:
舍去计算对象值 小数有效位数 计算结果
123.456 -2 100.000
123.456 -1 120.000
123.456 0 123.000
123.456 1 123.400
123.456 2 123.450
-0.9 0 0.0
-1.1 0 -1.0


位单位数据抽取、连结函数(BitAssemble)
涵义
以位为单位,从整数中抽取位数据。若追加参数,多个位数据将被连接,生成一个整数数据。
返回值
数据类型 注释
数值型 抽取或位数据连结后之间的整数值
详细参数
可以使用参数追加按钮来追加参数。 "抽取对象数据"参数、"抽取开始位置"参数、"抽取位数"参数由参数追加按钮依次追加。
参数名 数据类型 注释
符号处理区分 数值型 指定是否抽取/连结位数据,并将其输出为一个无符号整数或有符号整数。
1:无符号整数
2:有符号整数
若不指定此项,默认将指定为"1:无符号整数"。
抽取对象数据 数值型 指定数值型的抽取数据对象。
抽取对象仅可指定为整数。通常把小数位为0的输出表格栏中读取的数值型数据作为抽取对象。
其值所能表现的范围,虽然不需达到32位Integer数据所能表现的范围,但是,当输入数据为数值型时,输入数据和返回值须在10进制的14位的有效位数以内。 例如,对于超过10进制的14位有效位数的8字节整数进行位操作时,为了确保必要的计算精度,表格栏类型应设定为数值字符型。
必须使用十进制数类型的数值型数据来安全准确的操作那些位数超过14位十进制数的数据(例如,8位整数)。
抽取开始位置 数值型 指定抽取的开始位置。
从最低有效位开始计数的数值(最低有效位=最右边的位)。
从1开始计数。
抽取位数 数值型 指定抽取的位数。
从"抽取开始位置"的上侧(左侧)开始抽取"抽取位数"所指定的位数据。
当此参数未指定,则抽取1个位单位。
补充说明
  • 当算术运算发生溢出,函数将异常结束。
  • 当"符号处理区分"参数不为1或2,函数将异常结束。
  • 当"符号处理区分"参数不是一个整数值(小数部分不为零),函数将异常结束。
  • 当"抽取对象数据"参数不是一个整数值(小数部分不为零),函数将异常结束。
  • 当"抽取开始位置"参数为0或更小,函数将异常结束。
  • 当"抽取开始位置"参数不为不是一个整数值(小数部分不为零),函数将异常结束。
  • 当"抽取位数"参数为0或更小,函数将异常结束。
  • 当"抽取位数"参数不为不是一个整数值(小数部分不为零),函数将异常结束。
  • 当"符号处理区分"参数为NULL,函数将异常结束。
  • 当"抽取对象数据"参数为NULL,函数将异常结束。
  • 当"抽取开始位置"参数为NULL,函数将异常结束。
  • 当"抽取位数"参数为NULL,"抽取位数"参将视为未指定。
位单位数据抽取举例:
根据以下的7位大分类、4位中分类、5位小分类从16位数据中抽取数据。
这里,举一个分解数值的各个位域的例子。该被分解的值"-26248"是从表格栏类型为"整数(2字节)"的输入表格栏读入的16位数值。
若"-26248"以十六进制数表示,那将被表示为"0x9978"。 它可以变为 "1001100" "1011" "11000" 若以7、4、5位间隔并以二进制数表示。 它可以用小数表示为 "76"(大分类), "11"(中分类), "24"(小分类)。
符号处理区分 抽取对象数据 抽取开始位置 抽取位数 结果
1 -26248 10 7 76
1 -26248 6 4 11
1 -26248 1 5 24
位单位数据连结举例:
位连接的例子是对上面例举的位抽取例子的结果分为大分类,中分类,小分类,并将各个数据组合起来。
由于要将3个位单位数据连结起来,所以单击两次参数追加按钮后,分别指定"抽取对象数据"参数、"抽取开始位置"参数和"抽取位数"参数。
当输出表格栏的
表格栏类型为"整数(2字节)"时,这意味着写入的数据为"有符号整数",这时,符号处理区分参数应设定为"2:有符号整数"。 当输出表格栏的表格栏类型为"无符号整数(2字节)"时,这意味着写入的数据为"无符号整数",这时,符号处理区分参数应设定为"1:无符号整数"。 对于16位十六进制数值"0x9978"而言,若以"有符号整数"读出,其结果为十进制数值"-26248",若以"无符号整数"读出,其结果为十进制数值"39288"。
符号处理区分 数据 1(大分类) 数据 2(中分类) 数据 3(小分类) 结果
数据 比特位置 比特数 数据 比特位置 比特数 数据 比特位置 比特数
2 76 1 7 11 1 4 24 1 5 -26248
1 76 1 7 11 1 4 24 1 5 39288