相关疑难解决方法(0)

计算System.Decimal精度和比例

假设我们有一个System.Decimal数字.

为了说明,我们来看一个ToString()表示如下:

d.ToString() = "123.4500"
Run Code Online (Sandbox Code Playgroud)

关于这个十进制,可以说以下内容.对于我们这里的目的,比例定义为小数点右边的位数.有效比例相似但忽略了小数部分中出现的任何尾随零.(换句话说,这些参数定义为SQL小数加上一些额外的参数,以说明小数部分中尾随零的System.Decimal概念.)

  • 精度:7
  • 比例:4
  • EffectivePrecision:5
  • EffectiveScale:2

给定一个任意的System.Decimal,如何有效地计算所有这四个参数而不转换为String并检查String?该解决方案可能需要Decimal.GetBits.

更多例子:

Examples Precision  Scale  EffectivePrecision  EffectiveScale
0        1 (?)      0      1 (?)               0
0.0      2 (?)      1      1 (?)               0
12.45    4          2      4                   2
12.4500  6          4      4                   2
770      3          0      3                   0
Run Code Online (Sandbox Code Playgroud)

(?)或者将这些精度解释为零也没关系.

.net decimal

23
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net ×1

decimal ×1