您的位置:首页 > 其它

int、double类型计算问题

2009-09-23 15:45 537 查看
使用两个int变量计算的结果默认是int型的值,13883 / 100 = 138

如果要获取double类型的结果,两个计算数必须有一个是double类型,((double)13883) / 100 = 138.83

注:

数学计算中,必然的结果,在计算机中不一定正确;

计算机计算中,首先会考虑两个变量的类型,然后再计算结果,并根据类型要求,保存计算结果

========================================================================================

上述方法是在金额转换中出现的,数据以元为单位的金额转换成以分为单位的金额。

在大多数情况下,转换是正常的;但是,计算机中,double类型的数据本身就是近似保存,还是有可能出现转换前后不一致的情况。

e.g.字符串“36.40”使用上述方法进行转换后的结果是“3639”

因此,为保证转换前后数据上的严格一致,应该把以元为单位的金额按照字符串来处理,即

1、无小数点时,直接添加“00”,得到以分为单位的金额

2、有小数点,且小数点后有两位以上数字时,取前两位数字,和整数部分拼接,得到以分为单位的金额

3、有小数点,且小数点后只有一位数字时,取这一位数字,和整数部分拼接,并在尾部添加“0”,得到以分为单位的金额
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐