呃。。。好象可以用 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,适用于字典序比较前,将要比较字符串的位数保持一致,再进行比较。
因此,使用时需要将小数点手动添加到字符串中。 5. gcvt()函数 gcvt()是另一个用于浮点数到字符串转换的函数,其原型如下: ```c char *gcvt(double value, int ndigits, char *buf); ``` 此函数会在转换后的字符...
标题中的“Java 字符串指定长度”指的是在Java编程中,如何处理字符串以确保它们的长度符合特定的要求。这可能涉及到字符串的截取、填充、格式化等方面的知识。以下是对这个主题的详细解释: 在Java中,字符串是不...
判断汉字函数.c 函数功能:检查指定长度字符串中汉字的完整性
标题中的“获取一个字符串中的数字组”是指从包含数字和非数字字符的字符串中提取连续的数字,并将它们作为整数处理。描述中提到的任务是输入一个字符串,例如"a123x456_17960? 302tab5876",从中找出所有的连续数字...
3. **模式匹配**:在遍历过程中,如果当前字符是数字,那么将这个数字与上一个字符进行比较,如果也是数字,则增加当前数字串的长度。每次比较后,都比较当前数字串长度和最长数字串长度,更新最长数字串长度。 4. ...
本篇将详细介绍如何在C#中按照字节长度截取字符串,并结合正则表达式进行操作。 首先,理解字节长度的重要性。在ASCII编码中,一个字符占据一个字节,但在Unicode(如UTF-8或UTF-16)编码中,一个字符可能占用多个...
这个函数`SafeSubstring`接收字符串S、起始字节位置StartByte和截取的字节数LenBytes,返回一个从指定字节位置开始,长度为LenBytes字节的新字符串。注意,这个函数假设输入的都是有效的字节位置,没有进行边界检查...
本文档旨在详细介绍如何通过自定义函数在PostgreSQL数据库中实现一种特殊的排序方式:对于以数字结尾的字符串,首先将其分为两部分,一部分为非数字字符串,另一部分为数字;然后根据这两部分分别进行排序。具体而言...
`Str`函数可以将数值转换为字符串,并允许指定小数位数和填充字符。 4. **格式化输出**:更高级的格式化操作可能涉及`Format`函数,它可以按照指定的格式模板生成字符串,如日期、数字的格式化。例如,`Format("%...
本文档将详细介绍从字符串中提取连续的字符数字转换为整数的方法,並提供了完整的源代码,适合于那些想要编码实现字符串中提取连续的字符数字转换为整数的同学。 知识点1:字符串处理 在本文档中,我们使用了C语言...
4. **结束标志**:在字符串末尾添加终止符 `'\0'`。 5. **返回结果**:返回转换后的字符串指针。 **示例代码**: ```c char* toStr(int num, char precition) { static char str[10]; char i; if (num < 0) { ...
然后,我们遍历字节数组,使用`ToString("x2")`将每个字节转换为两位的十六进制字符串,并添加到`StringBuilder`对象中。 二、十六进制串反向转回原字符串 从十六进制串还原字符串,我们需要做相反的操作:首先将...
以下将详细讲解如何在Java中进行字符串长度的判断以及如何截取字符串。 首先,创建一个字符串对象通常使用`String`类的构造函数或者双引号括起来的字符串字面量。例如: ```java String panduan = "你好"; ``` 在...
strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0″。 【返回值】返回字符串s 的字符数。 注意一下字符数组,例如 char str[100] = http://see.xidian.edu.cn/cpp/u/biaozhunku/; 定义了一个大小为100...
字符串比较问题 Description ?问题描述: 对于长度相同的2 个字符串A和B,其距离定义为相应位置字符距离之和。...将计算出的字符串A和B的扩展距离输出到文件output.txt。 Sample Input cmc snmn 2 Sample Output 10
js计算字符串长度,可以输入中文、英文、数字、中英文数字混合等,最后计算结果为字符串所占字节个数