使用两个int变量计算的结果默认是int型的值,13883 / 100 = 138
如果要获取double类型的结果,两个计算数必须有一个是double类型,((double)13883) / 100 = 138.83
注:
数学计算中,必然的结果,在计算机中不一定正确;
计算机计算中,首先会考虑两个变量的类型,然后再计算结果,并根据类型要求,保存计算结果
========================================================================================
上述方法是在金额转换中出现的,数据以元为单位的金额转换成以分为单位的金额。
在大多数情况下,转换是正常的;但是,计算机中,double类型的数据本身就是近似保存,还是有可能出现转换前后不一致的情况。
e.g.字符串“36.40”使用上述方法进行转换后的结果是“3639”
因此,为保证转换前后数据上的严格一致,应该把以元为单位的金额按照字符串来处理,即
1、无小数点时,直接添加“00”,得到以分为单位的金额
2、有小数点,且小数点后有两位以上数字时,取前两位数字,和整数部分拼接,得到以分为单位的金额
3、有小数点,且小数点后只有一位数字时,取这一位数字,和整数部分拼接,并在尾部添加“0”,得到以分为单位的金额