这是一些伪代码,因为我认为它会提供最好的解释:
double total = 0;
double increment = 8.2;
while(true){
total += increment;
if(Print(total) prints out inaccurate number){
Truncate the inaccuracy;
}
Print(total);
}
总命中率约为700后,它会向print语句添加0.000000000001。我知道double
并不准确,我对此感到满意。但是,如何才能将这些信息隐藏起来?
例如,如果总数是721.600000000001,我希望总数打印为721.6。 如果总数是15.325350000001,我想打印出15.32535。
注意:我的double被转换为字符串,然后使用通用格式进行格式化。 (它已经截断了0。)