精确数学

高精度算术函数

限定名称 类型

apoc.number.exact.add(stringA STRING, stringB STRING) - 返回两个给定大数相加的结果(使用 Java BigDecimal)。

函数

apoc.number.exact.div(stringA STRING, stringB STRING, precision INTEGER, roundingMode STRING) - 返回一个给定大数除以另一个给定大数的结果(使用 Java BigDecimal)。

函数

apoc.number.exact.mul(stringA STRING, stringB STRING, precision INTEGER, roundingMode STRING) - 返回两个给定大数相乘的结果(使用 Java BigDecimal)。

函数

apoc.number.exact.sub(stringA STRING, stringB STRING) - 返回一个给定大数减去另一个给定大数的结果(使用 Java BigDecimal)。

函数

apoc.number.exact.toExact(number INTEGER) - 返回给定数字的精确值(使用 Java BigDecimal)。

函数

apoc.number.exact.toFloat(string STRING, precision INTEGER, roundingMode STRING) - 返回给定大数的 FLOAT 值(使用 Java BigDecimal)。

函数

apoc.number.exact.toInteger(string STRING, precision INTEGER, roundingMode STRING) - 返回给定大数的 INTEGER 值(使用 Java BigDecimal)。

函数

  • 可能的 roundingMode 选项包括 UPDOWNCEILINGFLOORHALF_UPHALF_DOWNHALF_EVENUNNECESSARY

precision 参数允许用户设置操作结果的精度。precision 参数的默认值为 0(无限制精度算术),而 roundingMode 的默认值为 HALF_UP。有关 precisionroundingMode 参数的更多信息,请参阅 Java 的 MathContext 页面

示例

在下面的示例中,`precision` 参数设置为 2。因此,返回结果只有前两位是精确的。

RETURN apoc.number.exact.div('5555.5555','5', 2, 'HALF_DOWN') as value;
表 1. 结果

1100

在下面的示例中,`precision` 参数设置为 8。因此,返回结果的前八位是精确的。

RETURN apoc.number.exact.div('5555.5555','5', 8, 'HALF_DOWN') as value;
表 2. 结果

1111.1111

这些函数接受科学记数法作为输入。例如

RETURN apoc.number.exact.add('1E6','1E6') as value;
表 3. 结果

2000000

有关更多信息,请参阅 Java 的 BigDecimal 页面Java 的 BigInteger 页面

© . All rights reserved.