我有一个数字 100000。我需要显示 1,00,000。在不使用 Java 中的字符串操作函数的情况下如何实现这一点。提前致谢。
问问题
201 次
4 回答
1
使用Java 中可用的NumberFormat
实现或类。DecimalFormat
例如
DecimalFormat dFormat = new DecimalFormat("#,##,####");
String value = dFormat.format(100000);
System.out.println("Formatted Value="+value);
于 2012-10-17T04:24:50.710 回答
0
快速谷歌,我从这里得到这个。
此功能未内置在 JavaScript 中,因此需要使用自定义代码。以下是将逗号添加到数字并返回字符串的一种方法。
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
于 2012-10-17T04:24:09.570 回答
0
最简单的方法是:
function addCommas(num) {return (""+num).replace(/\B(?=(?:\d{3})+(?!\d))/g,',');}
有关更完整的版本,其中包括对任意精度的十进制数的支持,请参阅numbar_format
PHPJS
于 2012-10-17T04:25:54.920 回答
0
如果您仍然感兴趣,这是 Java 中的一个解决方案,它只使用字符串方法来查找长度和字符位置。
int counter = 0;
int number=123456789;
String str = Integer.toString(number);
String finalStr = new String();
for(int i = str.length()-1; i >= 0; i--){
counter++;
if(counter % 3 == 0 && i != 0){
finalStr = ","+str.charAt(i)+finalStr;
}
else{
finalStr = str.charAt(i)+finalStr;
}
}
System.out.println("Final String: "+finalStr);
它使用值的长度向下循环并从右到左构建新字符串。在每第三个值(最后一个除外)处,它将在字符串前添加一个逗号。否则,它将继续并在逗号之间的中间值中构建字符串。
所以这将打印到控制台:
最终字符串:123,456,789
于 2012-10-17T04:50:20.710 回答