我一直在研究一些用于创建直方图的简单代码,并发现以下代码:doublevalue=1.2;doublebucketSize=0.4;doublebucketId=value/bucketSize;std::cout导致疯狂输出:bucketIdasdouble:3bucketIdasint:2这基本上破坏了我对计算机的信任;)在创建直方图时为value寻找正确的bucketId时。我知道存在舍入误差等问题,但是否有针对该问题的通用解决方案?(以防万一)请不要建议在转换为int之前将0.5添加到除法结果中,因为显然它在某些情况下效果不佳(例如doublevalue=3;doublebuc