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

 //将数字转换为货币格式,用,隔开
     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. centos7 sqoop 1 搭建笔记

    1.require : java环境,hadoop,hive ,mysql2.下载解压sqoop13.设置环境变量 export SQOOP_HOME=/data/spark/bin/sqoop ex ...

  2. tp5框架成功、失败提示模板修改

    <!DOCTYPE html> <html> <head> <title> 页面自动中...跳转 等待时间:<?php echo($wait); ...

  3. Typecho 官方文档 接口介绍

    官方开发文档实在是太潦草了 Widget_Archive 接口 参数 描述 indexHandle $archive Widget_Archive对象 $select Typecho_Db_Query ...

  4. .net 根据图片网络地址获取图片二进制字节数据流

    根据html路径获取图片的字节 /// <summary> ///根据html路径获取图片的字节 /// </summary> /// <param name=" ...

  5. oracle 11g中文乱码解决的办法一

    oracle中文乱码解决的办法 正常安装完oracle客户端后,插入数据时,发现中文都是问号. PLL/SQL中输入select userenv('LANGUAGE') From Dual,结果为AM ...

  6. java项目显示红叉,程序却没有错误

    转 http://blog.sina.com.cn/s/blog_825b7d7c0102w7rq.html (2016-07-02 11:38:38)   分类: javaWeb 电脑换了不同版本的 ...

  7. HTML中JavaScript调用方法

    我在写web页面的时候,经常用js实现某些功能,我用的方法有两种: 1.点击调用JavaScript: <button onclick="loadXMLDoc()">b ...

  8. android-基础编程-TextView

    TextView是简单而又复杂的控件,简单是使用上,复杂是源代码研究.基础编程这里只讲是如何使用. TextView主要分为两种使用方法,一种是xml中不带span的textview,另外一种是Spa ...

  9. noip第23课作业

    1.   营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其 ...

  10. JAVA作业之两数的加减乘除

    1.设计思路 把输入的字符转化为计算的数字问题,再以对话框的形式输入输出加减乘除的结果问题. 2.程序流程图 3.源代码 4.实验结果