我有时倾向于使用(double)(long)(a * b/c)将结果的整数部分存储为double。这对于负数也适用。用于检索double的整数部分的Java类型转换为double
有没有更好的方法来实现同样的事情,因为我认为类型转换是一个代价高昂的操作。
请注意我正在寻找整数部分的数字,而不是四舍五入的值。 例如:
MyObj.setDouble((double)(long)(522.99))
MyObj.getDouble() returns 522.0 and not 523.0
谢谢。
你相信吗?你是否执行过任何分析,以确定这是真正的应用程序中的重大性能影响? –
不要猜测,测量,因为即使你十多年来一直在做这类事情,你会惊讶你错了多少次。 ;)通常'Math.floor'和'Math.round'比使用模型慢2-4倍,但你应该自己测试一下。 –
那么,我没有对此进行任何分析。我的错。我不应该没有证据就跳到结论。虽然我想摆脱两步式类型化,因为这看起来很丑。 –