int、double类型计算问题 |
您所在的位置:网站首页 › c语言float和int相乘 › int、double类型计算问题 |
使用两个int变量计算的结果默认是int型的值,13883 / 100 = 138 如果要获取double类型的结果,两个计算数必须有一个是double类型,((double)13883) / 100 = 138.83 注: 数学计算中,必然的结果,在计算机中不一定正确; 计算机计算中,首先会考虑两个变量的类型,然后再计算结果,并根据类型要求,保存计算结果 ======================================================================================== 上述方法是在金额转换中出现的,数据以元为单位的金额转换成以分为单位的金额。 在大多数情况下,转换是正常的;但是,计算机中,double类型的数据本身就是近似保存,还是有可能出现转换前后不一致的情况。 e.g.字符串“36.40”使用上述方法进行转换后的结果是“3639” 因此,为保证转换前后数据上的严格一致,应该把以元为单位的金额按照字符串来处理,即 1、无小数点时,直接添加“00”,得到以分为单位的金额 2、有小数点,且小数点后有两位以上数字时,取前两位数字,和整数部分拼接,得到以分为单位的金额 3、有小数点,且小数点后只有一位数字时,取这一位数字,和整数部分拼接,并在尾部添加“0”,得到以分为单位的金额 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |