DA.Numeric
Daml 模块 DA.Numeric 参考文档。
DA.Numeric
模块概览
数据类型
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 的值为按模式 r 将 a 舍入到 n 位小数(scale)。
使用 RoundingUnnecessary 且数值无法用至多 n 位小数精确表示时会失败。
孤儿类型类实例
instance NumericScale n => Bounded (Numeric n)
本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。