呃。。。好象可以用 java.text.DecimalFormat。。。先研究一下这个类。
这个是旧的,有问题:
/**
* 将数字转为指定长度的字符串,如果位数不够,添加前缀 0
* @param value
* @param length
* @return
*/
private static String i2s(int value, int length)
{
// System.out.println("value:" + value);
// System.out.println("length:" + length);
String s = String.valueOf(value);
if(s.length()>length)
{
throw new RuntimeException("length is too short.");
}
else if(s.length()==length)
{
return s;
}
else
{
char[] cc = new char[length];
int i=0;
for(; i<length - s.length(); i++)
{
cc[i] = '0';
}
for(; i<length; i++)
{
//System.out.println(i);
cc[i] = s.charAt(length - i - 1); //这里容易出错:length - i - 1
}
return new String(cc);
}
}
private static void testI2s()
{
for (int i = 0; i < 1050; i++) {
System.out.println(i2s(i, 3));
}
}
这个是新的,改好了:
/**
* 将数字转为指定长度的字符串,如果位数不够,添加前缀 0
*
* @param value
* @param length
* @return
*/
private static String i2s(int value, int length) {
//System.out.println("value:" + value);
//System.out.println("length:" + length);
String s = String.valueOf(value);
//System.out.println("s:" + s);
int slen = s.length();
if (slen > length) {
throw new RuntimeException("length is too short.");
} else if (s.length() == length) {
return s;
} else {
char[] cc = new char[length];
int i = 0;
for (; i < length - slen; i++) {
//System.out.println("0 i:" + i);
cc[i] = '0';
}
for (; i < length; i++) {
//cc[i] = s.charAt(length - i - 1); // 这里容易出错:length - i - 1
int idx = i-(length-slen); // 这里容易出错:length - i - 1
cc[i] = s.charAt(idx);
//System.out.println("i:" + i + " idx:" + idx);
}
i = 0;
// for (; i < length; i++) {
// System.out.println("cc[" + i + "]:" + cc[i]);
// }
return new String(cc);
}
}
private static void testI2s() {
for (int i = 0; i < 1050; i++) {
//for (int i = 10; i < 15; i++) {
//System.out.println("i2s:" + i2s(i, 3));
//System.out.println();
System.out.println(i2s(i, 3));
}
}
DecimalFormat 版
private static String i2s_02(int value, int length)
{
//java.util.Formatter
//DecimalFormat df = new DecimalFormat("###");
//DecimalFormat df = new DecimalFormat("000");
char[] cc = new char[length];
int i=0;
for(i=0; i<length; i++)
{
//cc[i] = '#';
cc[i] = '0';
}
DecimalFormat df = new DecimalFormat( new String(cc) );
String s = df.format(value);
if(s.length()>length)
{
throw new RuntimeException("length is too short.");
}
return s;
}
private static void testI2s_02()
{
for (int i = 0; i < 1050; i++) {
System.out.println(i2s_02(i, 3));
}
}
分享到:
相关推荐
自己输入一个字符串,字符串中可以包括字符和汉字,截取指定的字符串
js数字四舍五入 返回数字指定位数,不足补0 返回字符串指定位数,不足补0.docxjs数字四舍五入 返回数字指定位数,不足补0 返回字符串指定位数,不足补0.docx
Java字符串长度不够,将其前面补0或者后面补0,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。
C#字符串截取固定长度的方法
C#字符串删除指定字符串|C#字符串删除子字符串
本文主要讲了C语言中将数字转换为字符串的方法,希望对你的学习有所帮助。
判断汉字函数.c 函数功能:检查指定长度字符串中汉字的完整性
前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)前后台实现精确截取指定长度字符串(考虑全角半角)
Java字符串长度不够前面或后面补0
strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0″。 【返回值】返回字符串s 的字符数。 注意一下字符数组,例如 char str[100] = http://see.xidian.edu.cn/cpp/u/biaozhunku/; 定义了一个大小为100...
运用JAVAScript自定义函数,实现数字字符的格式化转换,在实际网站开发中,有很多地方可以适用,不难却很实用。
如果新字符串不存在于字符串数组中,则使用`[]`将其添加到末尾;否则,输出提示信息。最后,使用`disp()`函数显示更新后的字符串数组。 这个代码的意义在于展示了MATLAB中如何进行字符串数组添加操作和字符串比较...
js计算字符串长度,可以输入中文、英文、数字、中英文数字混合等,最后计算结果为字符串所占字节个数
将已知文件中的指定字符串替换为其他的字符串
将string类型的xml转为JSON字符串,利用JSONObject处理JSON串
将数字从字符串中提取,源码 已运行无错,可直接使用
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
本文实例为大家分享了python实现字符串加密成纯数字的具体代码,供大家参考,具体内容如下 说明: 该加密算法仅仅是做一个简单的加密,安全性就不谈了,哈哈. 算法流程:
详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf() 函数名: sscanf 功 能: 从字符串格式化输入 用 法: int sscanf(char *string, char *format[,...