关于数字截位或补位的问题

bazhu 2004-04-05 12:21:59
在JSP页面中,我随机产生test数字值长度不等,譬如会随机产生2078 、12 、54122等数字。

现在要对test如果产生12的值进行补位,譬如在前面加0补位补足10位数,那就是0000000012,如果对2078补位就是0000002078

偶该如何对长度不等的数字进行补10位的操作?

或者无论对什么数字,补足20位,再截取前10位数字,代码该如何写?


不管3721不足位数倒好写,譬如:
double test;
test = price*1000000000;
int NewTest = (int)test;

那截前十位怎么写?这应该是很简单的问题,不好意思再此烦劳各位。解决完立刻加分。
...全文
285 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengyin2000 2004-04-05
  • 打赏
  • 举报
回复

<%! public String leftPad(int value, int number, char c) {
String s = "";
String temp = (new Integer(value)).toString();
if (temp.length() <= number) {
for (int i = 0; i < number; i++) {
s += c;
}
s = s.substring(0, number - temp.length()) + temp;
}
else {
System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
}
return s;
}
%>
bazhu 2004-04-05
  • 打赏
  • 举报
回复
窃窃问一声:如果是在JSP里怎么写?
本人有时确实很懒的说
但绝对很真挚的很感谢所有回帖的朋友们
:)
oyp 2004-04-05
  • 打赏
  • 举报
回复
/**
* 将数字转化为字符串,并格式化为指定的长度,不够位数的前面补指定字符
* Input: 1, 5, '0'
* Output: "00001"
*
* @return java.lang.String
* @param value - 要转换的数字
* @param number - 要补齐的位数
* @param c char - 补充的字符
*/
public static String leftPad(int value, int number, char c) {
String s = "";
String temp = (new Integer(value)).toString();
if (temp.length() <= number) {
for (int i = 0; i < number; i++) {
s += c;
}
s = s.substring(0, number - temp.length()) + temp;
}
else {
System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
}
return s;
}
bazhu 2004-04-05
  • 打赏
  • 举报
回复
能否具体点?只要实现偶想要实现的就可以 :)
Agassiwy 2004-04-05
  • 打赏
  • 举报
回复
substring不行吗?
bazhu 2004-04-05
  • 打赏
  • 举报
回复
非常感谢以上各位,test.jsp如下:
<%!
/**
* 将数字转化为字符串,并格式化为指定的长度,不够位数的前面补指定字符
* Input: 1, 5, '0'
* Output: "00001"
*
* @return java.lang.String
* @param value - 要转换的数字
* @param number - 要补齐的位数
* @param c char - 补充的字符
*/
public String leftPad(int value, int number, char c) {
String s = "";
String temp = (new Integer(value)).toString();
if (temp.length() <= number) {
for (int i = 0; i < number; i++) {
s += c;
}
s = s.substring(0, number - temp.length()) + temp;
}
else {
System.out.println("Error: " + number + "'s length is " + temp.length() + ", it's bigger than " + number + ".");
}
return s;
}
%>
<%
int aa = 21;
String ff = leftPad(aa, 10, '0');
out.print(""+ff+"");
%>

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧