每隔三个数字字符添加一个逗号
Adding a comma at every third number character
在我的代码中,我有一个变量myCash
,它使用javaScript的innerHTML
打印到h1
元素中。我在网上找到了一个函数,它在数字末尾的每三个字符后面加一个逗号,这样数字更容易阅读。我已经尝试了几个小时,现在将变量myCash
发送到函数中,然后将其打印在屏幕上。我无法让它工作。
我试过在页面加载后或按下按钮将新变量提醒到屏幕上,但我一无所获,警报甚至不起作用。这是逗号插入函数:
function commaFormatted(amount) {
var delimiter = ","; // replace comma if desired
amount = new String(amount);
var a = amount.split('.',2)
var d = a[1];
var i = parseInt(a[0]);
if(isNaN(i)) { return ''; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
while(n.length > 3)
{
var nn = n.substr(n.length-3);
a.unshift(nn);
n = n.substr(0,n.length-3);
}
if(n.length > 0) { a.unshift(n); }
n = a.join(delimiter);
if(d.length < 1) { amount = n; }
else { amount = n + '.' + d; }
amount = minus + amount;
return amount;
}
现在,当我想改变我的变量时,我已经尝试了几种不同的方法,包括:
var newMyCash = commaFormatted(myCash);
alert(newMyCash);
这个:
alert(commaFormatted(myCash);
其中myCash
当然等于某个大数;
这毫无作用!我在这里做错了什么??
此外,
尝试将其作为一个替代品,并尝试提醒响应:
http://phpjs.org/functions/number_format:481
你在浏览器的控制台(通常是f12)中看到任何错误吗?
这不是我的函数,但我希望它能帮助你。
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;
}
用法:
var newMyCash = addCommas( myCash ); alert( newMyCash );
来源:http://www.mredkj.com/javascript/nfbasic.html
您很可能没有传递函数所期望的包含小数的数字。
工作演示
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击更改图标并通过javascript添加一个css类
- fluxxor向一个flux实例添加一组以上的操作
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- angularjs移除焦点上的活动类并添加到下一个项目
- 使用jquery contains获取一个元素并添加类
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 单击删除其中一个添加的行
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 我想创建一个添加新表单的按钮
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- GWT SimplePager -为每个下一个和上一个添加历史记录
- 自动提交表单上的最大长度,-为现有的一个添加java脚本代码
- 如何在jquery中移除一个添加了类的类
- 动态更改URL,而不需要将前一个添加到历史堆栈