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要小。

  • 相关阅读:
    互联网公司笔试常见陷阱
    华为机试题(地铁换乘,图的应用)
    容器(vector)、数组、new创建的动态数组,你到底用哪一个(执行效率分析)
    SpringMVC全局异常
    github commit contributions无记录
    elasticSearch之查询
    nginx负载均衡策略
    docker入门
    解决centos&win安装安装elasticSearch无法运行
    2017年终总结
  • 原文地址:https://www.cnblogs.com/jilodream/p/4222773.html
Copyright © 2011-2022 走看看