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

 //将数字转换为货币格式,用,隔开
     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. rails gem更换ruby-china源

    查看gem源 gem sources -l 换添加源 gem sources --add https://gems.ruby-china.com/ 删除原来的rubygems源 gem sources ...

  2. 模块and包

    一.模块 1.import 加载的模块四个通用类别 1.使用python编写的py文件 2.已被编译为共享库或者DLL或者C\C++的扩展 3.包好一组模块的包 4.使用c编写并连接到python解释 ...

  3. 将驼峰转化为下化线(将型如AbcDef转化为abc_def)

    strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', 'AbcDef'))

  4. Java对象的克隆

    今天要介绍一个概念,对象的克隆.本篇有一定难度,请先做好心理准备.看不懂的话可以多看两遍,还是不懂的话,可以在下方留言,我会看情况进行修改和补充. 克隆,自然就是将对象重新复制一份,那为什么要用克隆呢 ...

  5. vue 开发系列(八) 动态表单开发

    概要 动态表单指的是我们的表单不是通过vue 组件一个个编写的,我们的表单是根据后端生成的vue模板,在前端通过vue构建出来的.主要的思路是,在后端生成vue的模板,前端通过ajax的方式加载后端的 ...

  6. mysql学习之路_联合查询与子查询

    联合查询 联合查询:将多次查询(多条select语句)在记录上进行拼接(字段不会增加). 语法:多条select语句构成,每条select语句获取的字段必须严格一致(但是字段类型无关). Select ...

  7. FreeMarker 处理不存在的变量

    FreeMarker不能容忍引用不存在的变量,除非明确地告诉它当变量不存在时如何处理.这里介绍两种典型的处理方法. 一个不存在的变量和一个是null的变量,对于FreeMarker来说是一样的. 处理 ...

  8. 学以致用十二-----YouCompeteMe巨坑

    接上一篇,通过这几天的不断尝试,发现一个无法解决的问题.至于我安装成功的那台,我至今不知道是安装了哪一步导致成功的. 首先,我在.vimrc里加上了 Plugin  'Valloric/YouComp ...

  9. C语言实现BMP图片生成

    ## #include <stdio.h> #include <stdlib.h> #include <string.h> typedef unsigned cha ...

  10. 22个值得收藏的Android开源代码——cool

    转自http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1020/1808.html 本文介绍了android开发者中比较热门的开源代 ...