例如,我的电话号码:30000,我想这样显示:30000。我该怎么用?
更多示例:300000-> 30万,
3000000-> 3000 000。
不是点或昏迷,而是要识别有多少个数字并在数字之间放置空格。
答案 0 :(得分:4)
考虑使用带有数字的管道,将其转换为字符串并根据需要设置其格式。您可以添加两种货币。
示例:(要点插图多于有效代码,目前无法测试)
//convert the string to an array
var arr = str.split("");
//back to string with added spaces
let string = "";
let count = 0;
for(i=arr.length-1; i>=0; i--){
if(count<3){
string = arr[i] + string;
count = count+1;
}
else{
string = " " + string;
count=0;
i=i+1;
}
}
答案 1 :(得分:1)
使用javascript如下:
function numberWithSpaces(x) {
var parts = x.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
return parts.join(".");
}
var num = numberWithSpaces(123456789);
console.log(num);
这将输出123 456 789
编辑:
打字稿:
function numberWithSpaces(x) {
let parts = x.toString().split('.');
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
return parts.join('.');
}
let num = this.numberWithSpaces(123456789);
console.log(num);
将与HTML相关的打字稿文件(.ts)添加到包含<h2>item.price</h2>
的html中,将num
替换为item.price
值。
或使用pipe。
您可以在 Stackblitz
上看到示例只需致电:element.price = format.formatCurrency(element.price);
一旦您定义了助手。您可以通过以下方式定义您的用法:
<h2 *ngFor="let item of item">{{ item.price }}</h2>
答案 2 :(得分:0)
让您拥有自定义管道: https://toddmotto.com/angular-pipes-custom-pipes
在transform函数中,将其转换为如下所示的字符串: Add commas or spaces to group every three digits
答案 3 :(得分:0)
一种非常简单的方法:
function formatNumber(num) {
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}