有时候输资金数据的时候如果位数较多就不好读了,如果输完能转换一下格式,转成用“,”隔开的通用格式就比较好看了。自己写了一个备用,以后用到的话就不用再写了。

 //将数字转换为货币格式,用,隔开
     function formatMoney(total) {
         if (total.toString().indexOf(",") > 0) {
             return total;
         }
         if (total.toString().indexOf(".") > 0) {

             if (total.toString().substr((total.toString().indexOf(".") + 1)).length > 4) {
                 total = parseFloat(total).toFixed(4);
             }

             var pre = total.toString().substr(0, total.toString().indexOf("."));
             var behind = total.toString().substr((total.toString().indexOf(".")));
             if (pre.length > 3) {
                 var m = Math.floor(pre.length / 3);
                 var n = pre.length % 3;
                 var ns = "";
                 //位数是3的倍数
                 if (n == 0) {
                     for (var l = 0; l < m; l++) {
                         if (l < m - 1) {
                             ns += pre.substr(3 * l, 3) + ",";
                         }
                         else {
                             ns += pre.substr(3 * l, 3);
                         }
                     }
                 }
                 //位数不能被3整除
                 else {
                     ns = pre.substr(0, n) + ",";
                     for (var i = 0; i < m; i++) {
                         if (i < m - 1) {
                             ns += pre.substr(3 * i + n, 3) + ",";
                         }
                         else {
                             ns += pre.substr(3 * i + n, 3);
                         }
                     }
                 }
                 total = ns + behind;

             }
         }
         else {
             var newtotal = total.toString();
             if (newtotal.length > 3) {
                 var m = Math.floor(newtotal.length / 3);
                 var n = newtotal.length % 3;
                 var ns = "";
                 //位数是3的倍数
                 if (n == 0) {
                     for (var l = 0; l < m; l++) {
                         if (l < m - 1) {
                             ns += newtotal.substr(3 * l, 3) + ",";
                         }
                         else {
                             ns += newtotal.substr(3 * l, 3);
                         }
                     }
                 }
                 //位数不能被3整除
                 else {
                     ns = newtotal.substr(0, n) + ",";
                     for (var i = 0; i < m; i++) {
                         if (i < m - 1) {
                             ns += newtotal.substr(3 * i + n, 3) + ",";
                         }
                         else {
                             ns += newtotal.substr(3 * i + n, 3);
                         }
                     }
                 }
                 total = ns;
             }
         }
         return total;
     }

分为整数和有小数位两种情况,小数位应该是不用“,”隔开的,需要将小数点前后分离。而整数的话就好说多了,可以直接操作。

js转换数据格式为货币格式的更多相关文章

  1. js转换时间戳成日期格式

    <script> function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().rep ...

  2. js 转换时间戳为时间格式并且按指定格式输出

    /** * 时间戳转换为日期 */ function convertTimestamp(timestamp){ // 时间戳转换为日期 var d = new Date(timestamp); // ...

  3. 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题

    项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...

  4. Java将其他数据格式转换成json字符串格式

    package com.wangbo.util; import java.beans.IntrospectionException; import java.beans.Introspector; i ...

  5. JS 将数字转化成为货币格式

    最近由于项目的需要需要将数字format成货币格式,自己搞了半天效果不是很好,博客园有篇问题很好,再次转载记录一下 http://www.cnblogs.com/mingmingruyuedlut/a ...

  6. angular学习笔记(二十五)-$http(3)-转换请求和响应格式

    本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项 1. transformRequest: $http({ transfo ...

  7. DevExpress GridControl导出ExportToXls 数字类型显示成货币格式

    用Dev开发很习惯直接用自带控件导出Excel,现在很少使用原生的Excel API去操作了.除非需要详细的控制. 但别人家封装好的就得按人家的规则的.在使用GridControl导出Excel时发现 ...

  8. js验证输入的金钱格式

    <html> <head> <title>js验证输入的金钱格式</title> <script type="text/javascri ...

  9. JS转换HTML转义符

    JS转换HTML转义符 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'') ...

随机推荐

  1. 删除GitHub中的项目

    1.找到要删除的项目 2.点击settings,下拉到底部 3.点击delete this repository,输入你要删除的项目名称

  2. Educational Codeforces Round 62 E 局部dp + 定义状态取消后效性

    https://codeforces.com/contest/1140/problem/E 局部dp + 定义状态取消后效性 题意 给你一个某些位置可以改变的字符串,假如字符串存在回文子串,那么这个字 ...

  3. 更新源pip

    国内镜像源列表 豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 h ...

  4. web程序打包详解

       重要更新:鉴于很多小伙伴们说看不到图,我这边换了几个浏览器看了下,都看得到的,估计是网速问题,请耐心等待,另外,为了更好的方便大家学习,特此提供源码以及一个word文档,word文档就是本文内容 ...

  5. hashchange事件

    h5新增了hashchange事件,以便在URL参数列表(及URL中‘#’号后面的所有字符串),发生变化时通知开发人员. 之所以要添加这个事件,是因为在Ajax应用中,开发人员经常要利用URL参数列表 ...

  6. linux 定时器 定时执行php

    输入命令:    crontab -e 添加定时命令 每隔一分钟执行一次php //复制一下命令即可.  */1 * * * * /usr/bin/curl -o /home/logs/temp.lo ...

  7. java使用filter设置跨域访问

    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja ...

  8. IP和网段及子网掩码基础知识

    IP地址由网络号和主机号两部分组成,网络号的最高位必须是"0",IP地址和子网掩码求"与"算出网络地址,只有网络地址相同才可直接通信,否则需要借助路由. 主机标 ...

  9. 深入浅出javascript(八)this、call和apply

    _________此篇日志属于重要记录,长期更新__________ this,call,apply这三个是进阶JS的重要一步,需要详细的记录. ➢ this 一.作为对象的方法调用. 当函数作为对象 ...

  10. 【repost】DOM CRUD

    //DOM 的 CRUD // c 创建create // 1.直接往body中动态的添加标签(可以是任意类型)document.write('helloWorld');document.write( ...