呃。。。好象可以用 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));
}
}
分享到:
相关推荐
"截取指定长度的字符串"这个主题涉及到的是如何从一个字符串中提取出特定长度的部分。这在处理用户输入、数据展示、信息提取等多个场景中都非常常见。接下来,我们将深入探讨这个知识点。 首先,让我们明确什么是...
下面是一个完整的`RoundNumber`函数实现,它可以处理数字四舍五入,并返回指定位数的数字或字符串,不足时补零: ```javascript function RoundNumber(num, pos) { // 将数字四舍五入到指定的小数位数 let ...
Java字符串长度不够,将其前面补0或者后面补0,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。
标题中的“Java 字符串指定长度”指的是在Java编程中,如何处理字符串以确保它们的长度符合特定的要求。这可能涉及到字符串的截取、填充、格式化等方面的知识。以下是对这个主题的详细解释: 在Java中,字符串是不...
判断汉字函数.c 函数功能:检查指定长度字符串中汉字的完整性
标题中的“获取一个字符串中的数字组”是指从包含数字和非数字字符的字符串中提取连续的数字,并将它们作为整数处理。描述中提到的任务是输入一个字符串,例如"a123x456_17960? 302tab5876",从中找出所有的连续数字...
在IT领域,生成指定长度的随机字符串是一项常见的需求,它广泛应用于密码生成、测试数据填充、安全令牌等领域。本文将深入探讨如何生成这样的随机字符串,并介绍相关编程语言的实现方法。 首先,我们要理解随机字符...
3. **模式匹配**:在遍历过程中,如果当前字符是数字,那么将这个数字与上一个字符进行比较,如果也是数字,则增加当前数字串的长度。每次比较后,都比较当前数字串长度和最长数字串长度,更新最长数字串长度。 4. ...
本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,理解字节长度的重要性。在ASCII编码中,一个字符占据一个字节,但在Unicode(如UTF-8或UTF-16)编码中,一个字符可能占用多个...
% 如果新字符串不存在于字符串数组中,则使用[]将其添加到末尾 strArray = [strArray, newStr]; else % 如果新字符串已经存在于字符串数组中,则输出提示信息 disp('The string already exists in the array.');...
C/C++语言本身并没有专门的字符串变量类型,而是使用字符数组来存放字符串,其中字符串的结束符是“\0”(空字符)。掌握字符与数字之间的转换对于进行有效编程至关重要,尤其在处理用户输入、数据输出以及与其他...
`Str`函数可以将数值转换为字符串,并允许指定小数位数和填充字符。 4. **格式化输出**:更高级的格式化操作可能涉及`Format`函数,它可以按照指定的格式模板生成字符串,如日期、数字的格式化。例如,`Format("%...
然后,我们遍历字节数组,使用`ToString("x2")`将每个字节转换为两位的十六进制字符串,并添加到`StringBuilder`对象中。 二、十六进制串反向转回原字符串 从十六进制串还原字符串,我们需要做相反的操作:首先将...
本文档将详细介绍从字符串中提取连续的字符数字转换为整数的方法,並提供了完整的源代码,适合于那些想要编码实现字符串中提取连续的字符数字转换为整数的同学。 知识点1:字符串处理 在本文档中,我们使用了C语言...
4. **结束标志**:在字符串末尾添加终止符 `'\0'`。 5. **返回结果**:返回转换后的字符串指针。 **示例代码**: ```c char* toStr(int num, char precition) { static char str[10]; char i; if (num < 0) { ...
以下将详细讲解如何在Java中进行字符串长度的判断以及如何截取字符串。 首先,创建一个字符串对象通常使用`String`类的构造函数或者双引号括起来的字符串字面量。例如: ```java String panduan = "你好"; ``` 在...
strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0″。 【返回值】返回字符串s 的字符数。 注意一下字符数组,例如 char str[100] = http://see.xidian.edu.cn/cpp/u/biaozhunku/; 定义了一个大小为100...
易语言字符串操作源码,字符串操作,字符串_取长度,字符串_取中间,字符串_取左边,字符串_取右边,字符串_替换,到宽字符,到多字节,取文本数据地址,取字节集数据地址,MultiByteToWideChar,WideCharToMultiByte
- 如果输入字符串为空或长度为零,则直接返回 `-1`,表示没有数字。 2. **首字符检查**: - 获取字符串的第一个字符 `c`。 - 如果 `c` 是数字(通过 `c >= '0' && c 判断),则将其转换为整数并返回。 3. **...