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

 //将数字转换为货币格式,用,隔开
     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. 怎么通过tomcat的catalina.out查看日志

    进入tomcat的logs目录下:cd apache-tomcat/logs/ 查看logs下的文件和目录:ll   可以找到catalina.out文件: 实时查看日志: tail -fn 100 ...

  2. HTML中JavaScript调用方法

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

  3. 自定义消息的操作方法ON_MESSAGE(..)

  4. 1.8.2suspend与resume方法的缺点-独占

    这两个方法使用不当,容易造成公共的同步对象的独占,使得其他线程无法访问公共的同步对象 测试 package com.cky.bean; /** * Created by edison on 2017/ ...

  5. 利用WCF搭建RESTful--纯代码启动

    最近学习了这几年忽略了的当前几乎所有的开发技术,有深有浅,而服务层最有兴趣的是RESTfull,看的是java的书.因为不熟悉JSP,于是找了本书细细研读了一次. dotnet的实现也相对简单,网上也 ...

  6. 最通熟易懂的Hadoop HDFS实践攻略

    HDFS是用来解决什么问题?怎么解决的? 如何在命令行下操作HDFS? 如何使用Java API来操作HDFS? 在了解基本思路和操作方法后,进一步深究HDFS具体的读写数据流程 学习并实践本文教程后 ...

  7. Scala_函数式编程基础

    函数式编程基础 函数定义和高阶函数 函数字面量 字面量包括整数字面量.浮点数字面量.布尔型字面量.字符字面 量.字符串字面量.符号字面量.函数字面量和元组字面量. scala> val i = ...

  8. appcompat_v7报错

    appcompat_v7如果报找不到资源,value-xx出错.一般就是因为appcompat_v7的版本问题,直接修改api版本至appcompat_v7对应value的最高版本. 我的v7包最高对 ...

  9. ASP.NET Web API 框架研究 Controller创建过程与消息处理管道

    现在我们从代码角度来看下,从消息处理管道末尾是怎么创建出Controller实例的.消息处理管道末端是一个叫HttpRoutingDispatcher的处理器,其内部完成路由后 ,会把消息派送给其内部 ...

  10. [Proposal]Tank Battle——Infinite

    Tank Battle——Infinite 把经典的坦克大战扩展到一个“无限”大的2D地图上.支持“全世界”的玩家同时在线玩. 游戏模式当然要做成全新的.增加玩家之间的交互,但又不较强的依赖于实时的通 ...