私は最も近い10,000に切り捨てたい64ビットの長さを持っているので、簡単にやっています:
long myLong = 123456789
long rounded = (myLong / 10000) * 10000; //rounded = 123450000
これは期待どおりに動作するように見えますが、整数型がどのように分割されるかの内部構造について 100% 理解していないため、これが期待どおりに機能しない状況が発生する可能性があることを少し心配しています。
これは、非常に多数/エッジ ケースでも機能しますか?