精华内容
下载资源
问答
  • decimal 的使用

    2007-12-21 18:39:00
    数学中实数不仅包括整数,而且包括小数。小数在C#中采用两种数据类型来表示:单精度(float)和双精度...当然,如果在程序中大量使用双精度类浮点数,将会占用更多内存单元,而且计算机处理任务也将更加繁...

    数学中的实数不仅包括整数,而且包括小数。小数在C#中采用两种数据类型来表示:单精度(float)和双精度(double)。它们的差别在于取值范围和精度不同。计算机对浮点数的运算速度大大低于对整数的运算。在对精度要求不是很高的浮点计算中,我们可以采用float型,而采用double型获得的结果将更为准确。当然,如果在程序中大量使用双精度类浮点数,将会占用更多的内存单元,而且计算机的处理任务也将更加繁重。

    ●单精度:取值范围在正负 之间,精度为7位数。

    ●双精度:取值范围在正负 之间,精度为15到16位数。

    十进制类型

    C#还专门为我们定义了一种十进制类型(decimal),主要用于方便我们在金融和货币方面的计算。在现代的企业应用程序中,不可避免地要进行大量的这方面的计算和处理,而目前采用的大部分程序设计语言都需要程序员自己定义货币类型等,这不能不说是一个遗憾。C#通过提供这种专门的数据类型,为我们弥补了这一遗憾,使我们能够更为快捷地设计这方面的应用程序。

    十进制类型是一种高精度、128位数据类型,它所表示的范围从大约 的28至29位有效数字。注意,该精度是用位数(digits)而不是以小数位(decimal places)来表示的。运算结果准确到28个小数位。十进制类型的取值范围比double类型的范围要小得多,但它更精确。

    当定义一个decimal变量并赋值给它时,使用m下标以表明它是一个十进制类型,如:

    decimal d_value=10.m;

    如果省略了m,在变量被赋值之前,它将被编译器当作双精度(double)类型来处理。


     Decimal f2;
       f2=Convert.ToDecimal(333.22);

       Response.Write(f2);
       Response.End();

    转载于:https://www.cnblogs.com/liufei88866/archive/2007/12/21/1009576.html

    展开全文
  • 为什么在Decimal中直接填入数字和填入n1不同 ``` n1 = 1.1 n2 = 2.2 from decimal import Decimal print(Decimal('1.1')) print(Decimal(n1)) print(Decimal(n1)+Decimal(n2)) ``` ![图片说明]...
  • Double和Decimal的使用

    万次阅读 2018-05-21 11:47:40
    修改数据库数据类型为Decimalmysql的Decimal和Double类型比较:float,double等非标准类型,在DB中保存是近似值,而Decimal则以字符串形式保存数值;DECIMAL 只是一种存储格式: 在计算中 DEClMAL 会转换为 ...

    java中Double类型的数据,数值太大的话get出来会变成科学记数法的格式,影响返回给页面展示。


    解决方法有两种:
    1. 修改数据库数据类型为Decimal
    mysql的Decimal和Double类型比较:
    float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值;
    DECIMAL 只是一种存储格式: 在计算中 DEClMAL 会转换为 DOUBLE 类型;
    浮点类型在存储同样范围的值时,通常比 DECIMAL 使用更少的空间。 FLOAT 使用 4个字 节存储, DOUBLE 占用8个字节。
    MySQL 5.0 和更高版本中的 DEClMAL 类型允许最多 65个数字;


    2. 对查出的数据格式化
    DecimalFormat decimalFormat = new DecimalFormat("#.##");
    decimalFormat.format(data);

    展开全文
  • mysql中decimal的使用

    2018-04-27 13:58:00
    float,double,decimal区别 创建表test_float_double_decimal CREATE TABLE `test_float_double_decimal` ( `id` int(11) NOT NULL COMMENT 'id', `float7.4` float(7,4) NOT NULL, `float255.30` float(255,30) ...

    float,double,decimal区别

    创建表test_float_double_decimal

    CREATE TABLE `test_float_double_decimal` (
      `id` int(11) NOT NULL COMMENT 'id',
      `float7.4` float(7,4) NOT NULL,
      `float255.30` float(255,30) NOT NULL,
      `double15.4` double(15,4) NOT NULL,
      `double255.30` double(255,30) NOT NULL,
      `decimal10.4` decimal(10,4) NOT NULL,
      `decimal65.30` decimal(65,30) NOT NULL,
      `float_default` float NOT NULL,
      `double_default` double NOT NULL,
      `decimal_default` decimal(10,0) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    INSERT INTO `test_float_double_decimal`(`float7.4`, `float255.30`, `double15.4`, `double255.30`, `decimal10.4`, `decimal65.30`, `float_default`, `double_default`, `decimal_default`) VALUES (789.123456789,123456789.123456789,123456789.123456789,123456789.123456789,789.123456789,123456789.123456789,123456789.123456789,123456789.123456789,123456789.123456789);
    
    INSERT INTO `test_float_double_decimal`(`float7.4`, `float255.30`, `double15.4`, `double255.30`, `decimal10.4`, `decimal65.30`, `float_default`, `double_default`, `decimal_default`) VALUES (789.123456789,12345678987654321.12345678987654321,12345678987.12345678987654321,12345678987654321.12345678987654321,789.12345678987654321,12345678987654321.12345678987654321,12345678987654321.12345678987654321,12345678987654321.12345678987654321,1234567898.12345678987654321);

    422101-20180427120039106-1229847991.png

    422101-20180427120133906-2035740674.png
    第一条数据插入后,float都跑偏了,double还算正常(最后位值四舍五入),decimal正常(最后位值四舍五入)。

    第二条数据插入后发现,float跑偏最严重,double也开始有些跑偏。decimal最正常。

    decimal详情

    decimal(a,b)

    参数说明
    a指定指定小数点左边和右边可以存储的十进制数字的最大个数,默认是10,最大精度65。
    b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0,最大值为30。
    备注
    DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。

    总结:像坐标,钱这样的数据,对于精度要求高的,可以采用decimal来进行存储。

    decimal(10,2) 表示钱,decimal(10,6)可以表示坐标。

    项目中的数据表中存储坐标,使用了float,结果如下。
    422101-20180427110634621-2130989133.png

    数据都丢失了,本来后面是6位小数的,经过上面的实验总结,适合改为使用decimal来进行存储,double也还可以,不过需要设置好位数。

    展开全文
  • int a = 67;...decimal dec2 = (decimal)(a / b); decimal dec3 = (decimal) a / b; 结果: dec1=dec2=0 dec3=0.0015008960573476702508960573  第一种很好理解,没有进行类型转化,第二种把表达式

    int  a = 67;
    int b = 44640;

    decimal dec1 = a / b;

    decimal dec2 = (decimal)(a / b);

    decimal dec3 = (decimal) a / b;

    结果:

    dec1=dec2=0

    dec3=0.0015008960573476702508960573 

    第一种很好理解,没有进行类型转化,第二种把表达式用括号括起来,再进行类型转化,也是失败,这点要注意,但是何原因,还不清楚。

     

    展开全文
  • db2中decimal的使用需要注意的事項

    千次阅读 2014-04-16 12:04:43
    decimal(m,n)设置中,整数位数不能大于(m-n),但小数位可以大于n,但会从大于n有效位开始截断。 比如說:現在有一個小數點位數很多數字如:123.6598775,而這時我們只需要小數點后兩位123.65,這 ...
  • DECIMAL

    2020-03-20 16:38:44
    在MySQL数据库中,DECIMAL的使用语法是:DECIMAL(M,D),其中, M 的范围是1~65, D 的范围是0~30, 而且D不能大于M。 二、最大值 数据类型为DECIMAL的字段,可以存储的最大值/范围是多少? 例如:DECIMAL(5,2),则该...
  • 主要介绍了Python decimal模块使用方法详解,文中通过示例代码介绍非常详细,对大家学习或者工作具有一定参考学习价值,需要朋友可以参考下
  • Decimal使用以及遇到问题

    千次阅读 2019-03-15 15:36:01
    项目中有小数计算,需要限制小数点后两位,float类型计算有误差,于是使用decimal类型计算 用法 1、可以通过限制decimal环境条件。 from decimal import Decimal, getcontext, setcontext getcontext().prec = 2 # ...
  • python Decimal 使用

    2009-10-29 15:38:25
      Decimal支持大多数的数学操作...使用decimal的时候是在一个context背景下工作的。可以使用getcontext来获得当前背景:   from decimal import * c = getcontext() print c   结果:   Context(prec=...
  • C#中,decimal类型使用

    千次阅读 2017-07-24 16:24:31
    在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal
  • Decimal类型: decimal(a,b),其中a代表小数点左右最多有几位...1、在js中使用正则表达式验证decimal类型使用/^\d{1,2}(\.\d{1,2})?$/gi.test(需要验证变量); 第一个1和2表示,小数点左边可以有1位或者2位,超过...
  • SQL中decimal的相关使用

    千次阅读 2008-11-04 09:47:30
    decimal用于表示定点实数,具体使用格式为: decimal[(p[,s])],其中p表示精度,用于指定小数点左边和右边十进制数字最大位数,取值在1-38之间,缺省值为18,s指定小数点右边十进制数最大位数,取值在0-p之间...
  • MySql中使用decimal

    2020-05-05 21:40:45
    MySql中有一种特殊数据类型Decimal,这种数据类型作用是为了存储精确数值,目前常用于标记金额等需要小数点后几位数据列。 建表语句语法为: columnName decimal(a, b) comment '花费' 其中前面a代表...
  • 示例1 问, 结果是多少? 0.01? No! 结果是0.009999999999999998! 为什么会这样呢? 因为float和double都是浮点数, 都有取值范围, 都有精度范围. 浮点数与通常使用的小数不同, 使用中, 往往...mysql中的decimal , 在java
  • go--decimal使用

    2021-02-20 16:51:58
    引言 下面一段简单程序 0.3 + 0.6 结果是什么? 有人会天真认为是0.9,但实际输出却...golang 与其他很多语言(C、C++、Python…)一样,使用了IEEE-754标准存储浮点数。 golang decimal 包详解 https://zhuanlan
  • 在网上搜了好几个关于decimal()博客,不是特别理解,结合前人博客以及个人理解,写下这个博客,便于自己记忆加深理解。  decimal一般用于对精度要求高,比如与金钱相关,用整型和浮点型都不行了,才会...
  • 因为前端传过来值是用double类型存到,传时候也是传两位数小数点,数据库decimal(18, 3)字段小数点位数是三位,从理论上来说是没问题,默认奇妙错误出现了,java.sql.SQLException:将数据类型nvarchar...
  • Decimal

    2015-05-16 14:40:23
    使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。存储数据范围是:-10^38~10^38-1 固定精度和小数位数字。一个decimal类型数据占用了2~17个字节。 基本...
  • mysql decimal(19,6)什么意思 表示一共可以有19为数字,后面最多可以有6个小数 oracle decimal(19,6)什么意思 包括小数点在内一共只能有19位数字 也就是说小数为有6个,数字只能有16个一共19位数
  • 编译器直接支持的数据类型就是基元类型。基元类型直接映射到Framework类库(FCL)中存在的类型。  Decimal在C#中是基元类型。FCL是System.Decimal。常用于不容许舍入误差的金融...会生成代码来调用Decimal的成员...
  • decimal(numeric)、money、float(real) 都是MSSQL中浮点...在金额存储上可以优先money,如果金额过大采用decimal(numeric),极端情况(数据超大)使用float(real) money与float不会自动默认小数点...
  • 在货币或者财务方面计算时候建议使用decimal (System.Decimal)类型,或者在你需要使用很多位小数以及高精度时候应该使用decimal 类型,以避免舍入方面错误。 比如: float f1 = 12345678901234567.28f; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,089
精华内容 1,235
关键字:

decimal的使用