在表达式中有不同的数据类型时,会进行转换,转换的等级是从低到高由int->unsigned->long->double,你这个是强制类型转换,想不发生错误,就把int change_in_cents改为double或float即可。
因为int型是没有小数点的,只有整数部分,你吧change_in_cents改成flaot型变量就行了,如果输出不想要小数部分,可以再转成int型输出
在数据类型的误差允许范围内,唯一办法就是尽量用精度高的类型了,所以float换double吧
将 100 变成 100.0 就行了
使用强制类型转换可否?