将逗号、小数添加到数字输出javascript
我使用下面的代码从一个起始数字开始计数。我需要的是在适当的位置(千)插入逗号,并在最后两位数字前加一个小数点将逗号、小数添加到数字输出javascript,javascript,jquery,number-formatting,csv,decimal-point,Javascript,Jquery,Number Formatting,Csv,Decimal Point,我使用下面的代码从一个起始数字开始计数。我需要的是在适当的位置(千)插入逗号,并在最后两位数字前加一个小数点 function createCounter(elementId,start,end,totalTime,callback) { var jTarget=jQuery("#"+elementId); var interval=totalTime/(end-start); var intervalId; var current=start; var
function createCounter(elementId,start,end,totalTime,callback)
{
var jTarget=jQuery("#"+elementId);
var interval=totalTime/(end-start);
var intervalId;
var current=start;
var f=function(){
jTarget.text(current);
if(current==end)
{
clearInterval(intervalId);
if(callback)
{
callback();
}
}
++current;
}
intervalId=setInterval(f,interval);
f();
}
jQuery(document).ready(function(){
createCounter("counter",12714086+'',9999999999,10000000000000,function(){
alert("finished")
})
})
此处执行:查看有关slice()、split()和substring()以及其他字符串对象函数的解释
var num = 3874923.12 + ''; //converts to a string
numArray = num.split('.'); //numArray[0] = 3874923 | numArray[1] = 12;
commaNumber = '';
i = numArray[0].length;
do
{
//we don't want to start slicing from a negative number. The following line sets sliceStart to 0 if i < 0. Otherwise, sliceStart = i
sliceStart = (i-3 >= 0) ? i-3 : 0;
//we're slicing from the right side of numArray[0] because i = the length of the numArray[0] string.
var setOf3 = numArray[0].slice(sliceStart, i);
commaNumber = setOf3 + ',' + commaNumber; //prepend the new setOf3 in front, along with that comma you want
i -= 3; //decrement i by 3 so that the next iteration of the loop slices the next set of 3 numbers
}
while(i >= 0)
//result at this point: 3,874,923,
//remove the trailing comma
commaNumber = commaNumber.substring(0,commaNumber.length-1);
//add the decimal to the end
commaNumber += '.' + numArray[1];
//voila!
var num=3874923.12+”//转换为字符串
numArray=num.split('.')//努马拉[0]=3874923 |努马拉[1]=12;
commaNumber='';
i=numArray[0]。长度;
做
{
//我们不希望从负数开始切片。如果i<0,则以下行将sliceStart设置为0。否则,sliceStart=i
切片开始=(i-3>=0)?i-3:0;
//我们从numArray[0]的右侧切片,因为i=numArray[0]字符串的长度。
var setOf3=numArray[0]。切片(sliceStart,i);
commaNumber=setOf3+','+commaNumber;//在前面加上新的setOf3以及所需的逗号
i-=3;//将i减3,以便循环的下一次迭代将下一组3个数字切片
}
而(i>=0)
//此时的结果:3874923,
//删除后面的逗号
commaNumber=commaNumber.substring(0,commaNumber.length-1);
//将小数点加到末尾
commaNumber+='.'+numArray[1];
//瞧!
使用函数insertDecimalPoints(s.toFixed(2))代码>
您将获得1212.21
function insertDecimalPoints(s) {
var l = s.length;
var res = ""+s[0];
console.log(res);
for (var i=1;i<l-1;i++)
{
if ((l-i)%3==0)
res+= ",";
res+=s[i];
}
res+=s[l-1];
res = res.replace(',.','.');
return res;
}
函数插入小数点{
var l=s.长度;
var res=”“+s[0];
控制台日志(res);
对于(var i=1;i此函数可用于不工作的区域设置somite
数字=1000.234;
数字=插入的小数点(固定的数字(3))
函数插入小数点{
控制台日志;
var temaparray=s.split(“.”);
s=temaparray[0];
var l=s.长度;
var res=”“/+s[0];
控制台日志(res);
对于(var i=0;i3)
res+=“,”;
res+=s[i];
}
res+=s[l-1];
res=res+“+”temaparray[1];
返回res;
}
可能会有帮助。你是想让我们为你编写代码吗?为什么不先尝试一下,然后再问我们你是否有StuckThank@maxedison。问题是,我还不太擅长JavaScript……我相信我已经采取了正确的步骤将我的数字转换为字符串-,但我不知道从这里该怎么走。
function insertDecimalPoints(s) {
var l = s.length;
var res = ""+s[0];
console.log(res);
for (var i=1;i<l-1;i++)
{
if ((l-i)%3==0)
res+= ",";
res+=s[i];
}
res+=s[l-1];
res = res.replace(',.','.');
return res;
}
function insertDecimalPoints(s) {
console.log(s);
var temaparray = s.split(".");
s = temaparray[0];
var l = s.length;
var res = ""//+s[0];
console.log(res);
for (var i=0;i<l-1;i++)
{
if ((l-i)%3==0 && l>3)
res+= ",";
res+=s[i];
}
res+=s[l-1];
res =res +"."+temaparray[1];
return res;
}
function convertDollar(number) {
var num =parseFloat(number);
var n = num.toFixed(2);
var q =Math.floor(num);
var z=parseFloat((num).toFixed(2)).toLocaleString();
var p=(parseFloat(n)-parseFloat(q)).toFixed(2).toString().replace("0.", ".");
return z+p;
}