`

double decimal 区别

阅读更多

浮点数分两部分存储:尾数和阶码(指数部分)
表示尾数的位数多则精度高
表示指数的位数多则范围大
double虽然64位,但其精度低,故其可以表示的范围大
decimal虽然是128位,但由于其用了较多的位来表示其精度,只好牺牲表示范围了.

这是MSDN上的解释,供参考:

Double 值类型表示一个值介于 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字,以及 +0 或-0、PositiveInfinity、NegativeInfinity 和非数字 (NaN)。Double 符合二进制浮点算法的 IEC 60559:1989 (IEEE 754) 标准。

decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算

分享到:
评论

相关推荐

    MySQL中Decimal类型和Float Double的区别(详解)

    本文主要探讨了Decimal、Float和Double三种数据类型之间的差异,特别是在处理数值计算时的精度问题。 首先,`Float`和`Double`是非标准的浮点数数据类型,它们在数据库内部存储的是近似值。这意味着在存储和计算...

    c#中decimal ,double,float的区别.doc

    C# 中 decimal, double, float 的区别 decimal, double, 和 float 是 C# 中三种不同的浮点数类型,它们之间的区别在于精度、范围和应用场景。 首先,float 是 32 位单精度浮点数,具有 7 位有效数字,范围约为 ±...

    python中的decimal类型转换实例详解

    ### Python中的Decimal类型转换详解 #### 一、引言 在Python编程中,处理精确的数值计算时,传统的浮点数运算可能会导致精度问题。为了应对这类挑战,Python提供了`decimal`模块,它实现了定点和浮点算术运算符,...

    Decimal性能测试报告1

    本文主要探讨了新版本decimal数据类型在性能、稳定性和内存管理方面的表现,对比了其与旧版decimal以及double数据类型的相关特性。通过对一系列实验的详细分析,我们可以深入理解decimal数据类型在实际应用中的优势...

    数据治理-词根整理合并初版数据字典

    100019 金额 Amount 词根 24-金额 Amt Double DECIMAL DECIMAL 20,2 100020 银行编号 Bank Number 省略词根 34-编号 B12 String VARCHAR VARCHAR 12 100021 银行编号 Bank Number 省略词根 34-编号 B14 String ...

    AnalyzeDoubleAndDecimalDemo.rar

    【注意decimal的根脚与double的根脚不同。decimal是10,double和float是2】 Decimal转化为4个Int逻辑:将decimal去除小数点【不考虑正负号】后如 1234.5678M 整数部分是12345678。将去除小数点后的数字【12345678】...

    decimal数据类型的小结

    2. **存储效率**:虽然`decimal`类型占用的空间可能比`float`或`double`大,但它在处理货币计算时能有效避免舍入误差,确保数据的准确性。 3. **运算稳定性**:`decimal`类型的运算结果更加稳定,不会出现因二进制...

    double 计算过程出现的误差

    2. **使用`decimal`或`Decimal`类型**:这些类型虽然占用更多的内存空间,但能提供更高的精度,适合金融等需要高精度的场景。 3. **使用库函数或类**:如.NET Framework提供的`Math.Round`方法可以帮助处理浮点数的...

    转换科学计数法的数值字符串为decimal类型的方法

    在操作数据库时,需要将字符串转换成decimal类型。 代码如下: select cast('0.12' as decimal(18,2)); select convert(decimal(18,2), '0.12'); 当需要将科学计数法的数字字符串转换成decimal时,这2种写法都...

    double型数字转换成大写数字

    double decimalPart = std::modf(input, &input)[0]; int multiplier = 1; while (decimalPart != 0) { decimalPart *= 10; int digit = static_cast(decimalPart); // 添加小数点 if (multiplier == 1) { ...

    C# double和decimal数据类型以截断的方式保留指定的小数位数

    在C#编程语言中,`double`和`decimal`数据类型是用于表示浮点数的两种主要方式。它们各自有其特性和用途,但在处理小数位数时,C#默认的行为并非简单地进行截断。然而,在某些情况下,我们可能需要按照截断的方式...

    浅谈MySQL中float、double、decimal三个浮点类型的区别与总结

    下表中规划了每个浮点类型的存储大小和范围: 类型 大小 范围(有符号) 范围(无符号) 用途 ...==double== 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225073858507 2014E-308),0,(2.225

    DECIMAL功能设计文档1

    6. **计算与类型转化**:支持DECIMAL与其他类型(如INT、FLOAT、DOUBLE或VARCHAR)的数学运算和类型转换,包括SQL中的聚合函数。 设计思路部分提到,Cedar 0.2的ObSchemaManagerV2类负责管理所有表的架构,但在原...

    11.ESQL/C程序中使用DECIMAL数据类型.doc

    在此示例中,我们首先使用 `sqldcv()` 函数将一个双精度浮点数转换为 DECIMAL 类型,然后通过 `sqlrdcv()` 函数将 DECIMAL 类型的值转换回 double 类型并打印出来。 #### 结论 DECIMAL 数据类型在 ESQL/C 程序设计...

    C#中处理多位小数精度的精度问题

    3. **避免浮点数的隐式转换**:即使在其他地方使用了`double`或`float`,也要确保在与`decimal`交互时不会发生隐式转换,因为这会导致精度损失。 4. **使用高精度库**:如果`decimal`的精度仍不足以满足需求,可以...

    MySQL中decimal类型用法的简单介绍

    与FLOAT和DOUBLE等浮点数类型不同,decimal类型以字符串形式存储,确保了数值的精确性,避免了浮点数可能出现的计算误差。 decimal类型的声明格式是`DECIMAL(M,D)`,其中M代表总数字个数,包括整数和小数部分,D...

    开源项目-txjmp-decimal4.zip

    与传统的浮点数(如double或float)相比,Decimal4通过使用整数表示法来存储十进制数,从而确保了计算结果的准确无误。 该项目的压缩包文件名为"decimal4-master",这表明它是Decimal4项目的主分支,可能包含了源...

Global site tag (gtag.js) - Google Analytics