0

数字の前に特定の数字を追加したい。たとえば、数値 1234 が指定された場合は 8001234 を返し、12345 が指定された場合は 80012345 を返します。

私の現在の作業ソリューションはInteger.parseInt("800" + value)、文字列の書式設定、連結、および解析を含む です。もう少し安くて簡単な解決策を探しています。(C のバックグラウンドから来ると、これはコストがかかるように思えます。しかし、Java プログラマーは通常、操作のコストを気にしないように見えるので、私はこれを使用するかもしれません。)

8000000 (または 80000000、800000000 など) を追加することを検討しましたが、それは元の数字の桁数に依存し、異なる場合があります。

提案をいただければ幸いです。

(数か月後、2014 年 1 月に追加):この質問のところで、私の要件が変更されたため、元の番号が 7 桁の場合、新しい番号を最大 9 桁に保つために、先頭に「80」を追加するだけです. シンプルで読みやすい方法で行うつもりなので、もう答えを探しているわけではありませんが、元の質問へのカーブボールの補遺を捨てたかっただけです。有益な提案をしてくれたすべての人に感謝します。

4

3 に答える 3

1

これを試して

int res = 8000 * (int) Math.pow(10, (int) Math.log10(v) + 1) + v;
于 2013-08-02T15:58:49.677 に答える