本文简要介绍ruby语言中 Kernel.BigDecimal
的用法。
用法
BigDecimal(value, exception: true) → bigdecimal
BigDecimal(value, ndigits, exception: true) → bigdecimal
Returns the \BigDecimal converted from +value+ with a precision of +ndigits+ decimal digits. When +ndigits+ is less than the number of significant digits in the value, the result is rounded to that number of digits, according to the current rounding mode; see BigDecimal.mode.
返回 value
转换为 BigDecimal,具体取决于 value
的类型:
-
Integer
、Float
、Rational
、Complex
或 BigDecimal: 直接转换:# Integer, Complex, or BigDecimal value does not require ndigits; ignored if given. BigDecimal(2) # => 0.2e1 BigDecimal(Complex(2, 0)) # => 0.2e1 BigDecimal(BigDecimal(2)) # => 0.2e1 # Float or Rational value requires ndigits. BigDecimal(2.0, 0) # => 0.2e1 BigDecimal(Rational(2, 1), 0) # => 0.2e1
-
字符串:如果包含整数或浮点字面量,则通过解析转换;前导和尾随空格被忽略:
# String does not require ndigits; ignored if given. BigDecimal('2') # => 0.2e1 BigDecimal('2.0') # => 0.2e1 BigDecimal('0.2e1') # => 0.2e1 BigDecimal(' 2.0 ') # => 0.2e1
-
响应方法
:to_str
的其他类型:首先转换为字符串,然后转换为 BigDecimal,如上。 -
其他类型:
-
如果关键字参数
exception
是true
则引发异常。 -
如果关键字参数
exception
是true
,则返回nil
。
-
如果 value
计算结果为 Float
并且 digits
大于 Float::DIG + 1,则引发异常。
相关用法
- Ruby Kernel.local_variables用法及代码示例
- Ruby Kernel.Integer用法及代码示例
- Ruby Kernel.binding用法及代码示例
- Ruby Kernel.frozen?用法及代码示例
- Ruby Kernel.`cmd`用法及代码示例
- Ruby Kernel.autoload用法及代码示例
- Ruby Kernel.loop用法及代码示例
- Ruby Kernel.Hash用法及代码示例
- Ruby Kernel.caller用法及代码示例
- Ruby Kernel.set_trace_func用法及代码示例
- Ruby Kernel.exit!用法及代码示例
- Ruby Kernel.trap用法及代码示例
- Ruby Kernel.String用法及代码示例
- Ruby Kernel.select用法及代码示例
- Ruby Kernel.syscall用法及代码示例
- Ruby Kernel.then用法及代码示例
- Ruby Kernel.sprintf用法及代码示例
- Ruby Kernel.Pathname用法及代码示例
- Ruby Kernel.srand用法及代码示例
- Ruby Kernel.yield_self用法及代码示例
- Ruby Kernel.raise用法及代码示例
- Ruby Kernel.test用法及代码示例
- Ruby Kernel.pretty_inspect用法及代码示例
- Ruby Kernel.format用法及代码示例
- Ruby Kernel.open用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Kernel.BigDecimal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。