在数字后添加零以使其成为10位数

3

我知道这是一个简单的问题,也知道如何处理它,但我的需求是要求性能尽可能高且用时尽可能少。

我将获取以下输入:

long l = 149;

我想将这个数字变成10位数,并在前面添加其他数字。 以上数字应该转换为:

   0000000149.

同样地,

1      -> 0000000001
13     -> 0000000013
888888 -> 0000888888

1. 我使用循环进行尝试,例如检查数字长度,将数字长度减去10,然后将零的数量作为减法结果加起来。

2. 已经创建了数组,如下:

arr[0, 00, 000, 0000, 00000, 000000, 0000000, 00000000, 000000000, 0000000000];

在这里,我正在做相同的事情,减去我的数字长度与10,并得到arr[numberLenth -10] + number的结果。

我得到了期望的结果。

我想确保检查是否有更好的解决方案,如何使用按位运算符来满足此要求?

谢谢。


1
请参考以下链接:https://dev59.com/XXRB5IYBdhLWcg3w6LR2 - user1907906
1
或者是这个 - https://dev59.com/NW855IYBdhLWcg3wNxgM - SSaikia_JtheRocker
请参见https://dev59.com/53RC5IYBdhLWcg3wK9yV#391978。 - lc.
你是用什么方式来创建这些格式化的?如果是在控制台上,你可以直接使用System.out.format("%10d", numberVariable)。 - user2277872
谢谢...我在@Tichodroma指向的链接上找到了答案。 - Jayesh
1个回答

1
你喜欢这个吗?
String.format("%010d", 123);

"%10d"会打印前导零?从什么时候开始的? - Ingo
我已经得到了答案,我需要像这样做:String data = String.format("%010d", 1234); - Jayesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接