zoukankan      html  css  js  c++  java
  • decimal 类型

    今天看到转换方面    发现  居然多了一种类型 decimal    之前对其一直是能过就过  知道大概有这么一种类型     今天先用词典查 发现 decimal  的意思是  十进制小数

    纳闷 为什么十进制小数 还需要专拿一个类型来实现   double 和float  不是挺好的了么

    然后看书   发现他们之间的转换还是有问题     

    然后查网上的资料终于明白   -----》http://www.cnblogs.com/xiaoL/archive/2011/01/20/1939835.html

    里边写到  decimal 类型有28位的有效数字   但是表示的数据范围却比float和double类型小。decimal类型并不是C#中的基础类型,所以使用的时候会对计算时的性能有影响。

    这句话的意思就是  虽然decimal  占用的内存更大  但是 那是用来保存 精度的    也就是保存 小数点以后的长度的

    文中还提出了两点  平常容易出现的错误

    还有两个非常危险的错误认识!!

    1、decimal不是浮点型、decimal不存在精度损失。

    下面有段程序大家可以去看看结果是什么。记住!所有的浮点型变量都存在精度损失的问题,而decimal是一个不折不扣的浮点型,不论它精度有多高,精度损失依然存在!

    decimal dd = 10000000000000000000000000000m;

    dd += 0.1m;

    Console.WriteLine ( "{0:G50}", dd ); 

    2、decimal所能储存的数比double大,从double到decimal的类型转换不会出现任何问题。

    微软在decimal的帮助上真的要好好反省了。实际上只有从整形到decimal的转换才是扩大转换,decimal的精度比double大,但所能储存的最大数却比double要小。

  • 相关阅读:
    ip报文
    常见端口
    navicat15 破解版
    谷歌跨域设置
    CSS flex弹性布局来做 页面底部自适应:页面高度不足时,在底部显示;页面高度超出时,随页面滚动(亲测有效)
    phpstorm 2019 激活码
    aes cbc模式
    Vue的安装及使用快速入门
    从SVN服务器端彻底删除错误提交版本
    Nginx配置https和wss
  • 原文地址:https://www.cnblogs.com/jilodream/p/4222773.html
Copyright © 2011-2022 走看看