完整文档页面(中文翻译)。文末附有来源说明。

阅读英文版

appdevreferencedaml-standard-libraryda-numeric

DA.Numeric

Daml 模块 DA.Numeric 参考文档。

DA.Numeric

模块概览

稳定(Stable)。 状态:`active` 引入版本:`3.4.9` 移除版本:`-` 警告:`0` 弃用:`0` 弃用自:`-`

数据类型

data RoundingMode

舍入模式。

构造子:

  • RoundingUp 远离零舍入。
  • RoundingDown 朝向零舍入。
  • RoundingCeiling 朝向正无穷舍入。
  • RoundingFloor 朝向负无穷舍入。
  • RoundingHalfUp 舍入到最近邻;若两侧等距则远离零。
  • RoundingHalfDown 舍入到最近邻;若两侧等距则朝向零。
  • RoundingHalfEven 舍入到最近邻;若两侧等距则舍入到偶数邻。
  • RoundingUnnecessary 不舍入。若结果在目标 scale 下无法精确表示则报错。

函数

mul

mul : NumericScale n3 => Numeric n1 -> Numeric n2 -> Numeric n3

两个 Numeric 相乘。输入与输出可有不同 scale,不同于 (*) 强制相同 scale。溢出时报错,否则按选定 scale 舍入。

div

div : NumericScale n3 => Numeric n1 -> Numeric n2 -> Numeric n3

两个 Numeric 相除。输入与输出可有不同 scale,不同于 (/) 强制相同 scale。溢出时报错,否则按选定 scale 舍入。

cast

cast : NumericScale n2 => Numeric n1 -> Numeric n2

转换 Numeric。溢出或精度丢失时报错。

castAndRound

castAndRound : NumericScale n2 => Numeric n1 -> Numeric n2

转换 Numeric。溢出时报错,否则按选定 scale 舍入。

shift

shift : NumericScale n2 => Numeric n1 -> Numeric n2

通过乘以 10^(n1 - n2) 左移或右移小数点。不会溢出或下溢。

pi

pi : NumericScale n => Numeric n

圆周率 π。

epsilon

epsilon : NumericScale n => Numeric n

scale 为 n 的 Numeric 可表示的最小严格正值。

roundNumeric

roundNumeric : NumericScale n => Int -> RoundingMode -> Numeric n -> Numeric n

Numeric 舍入。round n r a 的值为按模式 ra 舍入到 n 位小数(scale)。

使用 RoundingUnnecessary 且数值无法用至多 n 位小数精确表示时会失败。

孤儿类型类实例

  • instance NumericScale n => Bounded (Numeric n)

本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。