int、double类型计算问题

您所在的位置:网站首页 c语言float和int相乘 int、double类型计算问题

int、double类型计算问题

2023-10-25 18:10| 来源: 网络整理| 查看: 265

 

使用两个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