JS 数字每三位加逗号的方法(包含小数)

function formatNum(str) {
    var newStr = "";
    var count = 0;
    // 当数字是整数
    if (str.indexOf(".") == -1) {
        for (var i = str.length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr;
            }
            count++;
        }
        str = newStr + ".00"; //自动补小数点后两位
        return str;
    }
    // 当数字带有小数
    else {
        for (var i = str.indexOf(".") - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr; //逐个字符相接起来
            }
            count++;
        }
        str = newStr + (str + "00").substr((str + "00").indexOf("."), 3);
        return str;
    }
}

formatNum(‘13213.24‘); //输出13,213.34
formatNum(‘132134.2‘);  //输出132,134.20
formatNum(‘132134‘);  //输出132,134.00
formatNum(‘132134.236‘);  //输出132,134.23
function formatNum(str) {
    var newStr = "";
    var count = 0;
    // 当数字是整数
    if (str.indexOf(".") == -1) {
        for (var i = str.length - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr;
            }
            count++;
        }
        str = newStr + ".00"; //自动补小数点后两位
        return str;
    }
    // 当数字带有小数
    else {
        for (var i = str.indexOf(".") - 1; i >= 0; i--) {
            if (count % 3 == 0 && count != 0) {
                newStr = str.charAt(i) + "," + newStr;
            } else {
                newStr = str.charAt(i) + newStr; //逐个字符相接起来
            }
            count++;
        }
        str = newStr + (str + "00").substr((str + "00").indexOf("."), 3);
        return str;
    }
}

formatNum(‘13213.24‘); //输出13,213.34
formatNum(‘132134.2‘);  //输出132,134.20
formatNum(‘132134‘);  //输出132,134.00
formatNum(‘132134.236‘);  //输出132,134.23

原文地址:https://www.cnblogs.com/yu-shang/p/12288337.html

时间: 2024-10-07 14:48:06

JS 数字每三位加逗号的方法(包含小数)的相关文章

php实现数字格式化,数字每三位加逗号的功能函数

php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 function num_format($num){  if(!is_numeric($num)){   return false;  }  $num = explode('.',$num);//把整数和小数分开  $rl = $num[1];//小数部分的值  $

数字每三位加逗号,小数保留4位

function numTransfrom(num){let int,float,strArr,str="";function numb(int, str, len){ let i = len - 3; if (i > 0) { str = "," + int.substr(i, 3).concat(str); return numb(int, str, i); } else { return str = int.substr(0, len).concat(s

JS格式化数字(每三位加逗号)

// 方法一function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(''); for (var i = num.length - 1; i >= 0; i--) { counter++; result.unshift(num[i]); if (!(counter % 3) && i != 0) { result.unshift(','); } } retu

数字格式化,从右往左每隔三位加逗号的四种方法

转载自:http://www.uedsc.com/micrometer-method.html 有時候我个必需将数字加上每三个位数加上一个逗号,例如20000变成20,000,目的是为了在方便财务上阅读,所以我整理了以下四种解決的方法: 1.javascript //一个迂回函式 function formatNumber(str) { if(str.length <= 3){ return str; } else { return formatNumber(str.substr(0,str.l

js金额数字格式化实现代码(三位加逗号处理保留两位置小数)

工作中很常用的东西: 例1,使数字1111111变成11,111,111.00,保留两位小数. <html> <head> <script type="text/javascript"> function outputmoney(number) { number = number.replace(/\,/g, ""); if(isNaN(number) || number == "")return "

JS-对一串数字每三位加上逗号

function addCommas(num){ var string=num+'';//将数字转换成字符串形式 var arr=string.split('.');//分割逗号; var num1=arr[0]; var num2=arr[1]?'.'+arr[1]:'.00';//若有小数则添加逗号,若没有则设置为成两位小数: var reg=/(\d+)(\d{3})/; while(num1.test(reg)){ num1.replace(reg,'$1'+','+'$2') } re

用1到9这九个数字变成三位数加三位数等于三位数的加法,例如:173+295 =468,一共有多少种情况?

#include "stdafx.h" #include <stdio.h> #include <vector> #include <algorithm> using namespace std; void FindCount(vector<int> &vect,int iPos,int &Count) { if (iPos>8) { int i1 = vect[0] * 100 + vect[1] * 10 + v

C# int转string 每三位加一个逗号

long aaaa = 14200666; Console.WriteLine(aaaa.ToString("N0")); Console.WriteLine(string.Format("{0:N0}", 14200666)); Console.WriteLine("架构师 www.itsvse.com"); Console.ReadLine(); 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)string.F

LightOJ 1282 - Leading and Trailing (求n的k次方的前三位数字 后三位)

题意:http://www.lightoj.com/volume_showproblem.php?problem=1282 n^k = a.bc * 10.0^m:等式两边同时加上log10k*log10(n) = log10(a.bc) + m;m为k * log10(n)的整数部分,log10(a.bc)为k * lg(n)的小数部分;x = log10(a.bc) = k*log10(n) - m = k*log10(n) - (int)k*log10(n);x = pow(10.0, x