精华内容
下载资源
问答
  • JavaScript 数字格式化怎么写(#,##.00) (实用,赞)
    千次阅读
    2019-02-26 15:32:38

    原文出处:https://zhidao.baidu.com/question/588397625.html (代码已做调整)
    代码如下:

     

        /* 
        * 格式化数字显示方式 
        * 用法 
        * formatNumber(12345.999,'#,##0.00'); 
        * formatNumber(12345.999,'#,##0.##'); 
        * formatNumber(123,'000000'); 
        * @param num 
        * @param pattern 
        */
        public formatNumber(num:number, pattern: string) {
            var fmtarr = pattern ? pattern.split('.') : [''];           // 格式化字串转为数组
            // 四舍五入处理
            var decimals = (fmtarr.length > 1 ? fmtarr[1].length : 0);  // 小数位
            num = Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);
            
            var strarr = num ? num.toString().split('.') : ['0'];       // 值->字符串->数组
            var retstr = '';
    
            // 整数部分 
            var str = strarr[0];
            var fmt = fmtarr[0];
            var i = str.length - 1;
            var comma = false;
            for (var f = fmt.length - 1; f >= 0; f--) {
                switch (fmt.substr(f, 1)) {
                    case '#':
                        if (i >= 0) {
                            retstr = str.substr(i--, 1) + retstr;       // 加当前字符
                        }
                        break;
                    case '0':
                        if (i >= 0) {
                            retstr = str.substr(i--, 1) + retstr;       // 加当前字符
                        }
                        else {
                            retstr = '0' + retstr;                      // 补0
                        }
                        break;
                    case ',':
                        comma = true;                                   // 有千位符 
                        retstr = ',' + retstr;                          // 直接加上逗号(,)
                        break;
                }
            }    
            // 整数字符串替换格式后剩余字符串处理
            if (i >= 0) {
                if (comma) {
                    var l = str.length;
                    for (; i >= 0; i--) {
                        retstr = str.substr(i, 1) + retstr;
                        if (i > 0 && ((l - i) % 3) == 0) {
                            retstr = ',' + retstr;                      // 加上千位符
                        }
                    }
                }
                else {
                    retstr = str.substr(0, i + 1) + retstr;             // 无千位符直接加在前面
                }
            }
    
            retstr = retstr + '.';
            // 处理小数部分 
            str = strarr.length > 1 ? strarr[1] : '';
            fmt = fmtarr.length > 1 ? fmtarr[1] : '';
            i = 0;
            for (let f = 0; f < fmt.length; f++) {
                switch (fmt.substr(f, 1)) {
                    case '#':
                        if (i < str.length) {
                            retstr += str.substr(i++, 1);               // 加当前字符
                        }
                        break;
                    case '0':
                        if (i < str.length) {
                            retstr += str.substr(i++, 1);               // 加当前字符
                        }
                        else {
                            retstr += '0';                              // 补0 
                        }
                        break;
                }
            }
    
            // 返回
            // 1.去掉开头的逗号(,)和加号(+);2.结尾的小数点(.)
            return retstr.replace(/^,+/, '').replace(/\.$/, '');        
        }
    


     

     

    更多相关内容
  • /*** * 数字格式化(适合金融产品截断小数位后展示) * @param num * @param pattern (标准格式:#,###.## 或#.## 或#,###00.00...0=截断格式化 * @returns {string} */function formatNumber(num, pattern, round) { ...
    /***
    * 数字格式化(适合金融产品截断小数位后展示)
    * @param num
    * @param pattern (标准格式:#,###.## 或#.## 或#,###00.00)
    * @param round 1=四舍五入后格式化;0=截断格式化
    * @returns {string}
    */
    function formatNumber(num, pattern, round) {
    if (num && !/^[\d\.]+$/g.test(num)) {
    console.log("the number format is incorrect!");
    return "";
    }

    var formatLeft = "";
    var formatRight = "";
    var symbolFlag = pattern.lastIndexOf(".");
    if (symbolFlag == -1) {
    formatLeft = pattern;
    } else {
    formatLeft = pattern.substring(0, pattern.lastIndexOf("."));
    formatRight = pattern.substring(pattern.lastIndexOf(".") + 1, pattern.length);
    }
    //四舍五入
    if (round == 1) {
    num = new Number(num).toFixed(formatRight.length);
    }

    //格式化数字
    var numberLeft = "";
    var numberRight = "";
    var numSymbolFlag = num.lastIndexOf(".");
    if (numSymbolFlag == -1) {
    var numberLeft = num;
    } else {
    var numberLeft = num.substring(0, num.lastIndexOf("."));
    var numberRight = num.substring(num.lastIndexOf(".") + 1, num.length);
    }

    var numberBucket = new Array();
    var formatFlag = formatLeft.indexOf("#,###");//千位符标记
    var count = 1;
    var len = numberLeft.length;
    for (var i = len; i > 0; i--) {
    numberBucket.unshift(numberLeft.charAt(i - 1));
    if (formatFlag != -1) {
    if (count % 3 == 0 && count != len) {
    numberBucket.unshift(',');
    }
    }
    count++;
    }
    if (symbolFlag != -1) {
    numberBucket.push('.');
    }
    for (var i = 0; i < formatRight.length; i++) {
    if (formatRight.charAt(i) && numberRight.charAt(i)) {
    numberBucket.push(numberRight.charAt(i))
    } else {
    numberBucket.push("0");
    }
    }
    return numberBucket.join("");
    }

    //测试
    document.writeln(formatNumber("123456789.123456", "#") + "<br/>");
    document.writeln(formatNumber("123456789.123456", "#.#")+ "<br/>");
    document.writeln(formatNumber("123456789.123456", "#,###") + "<br/>");
    document.writeln(formatNumber("123456789.123456", "#,###.#")+ "<br/>");
    document.writeln(formatNumber("123456789.123456", "#,###.#")+ "<br/>");document.writeln(formatNumber("123456789.123456", "#,###.####")+ "<br/>");document.writeln(formatNumber("1.50", "#.#", 1) + "<br/>");document.writeln(formatNumber("1.125456", "#.#", 1) + "<br/>");document.writeln(formatNumber("1.125456", "#.##", 1) + "<br/>");
    document.writeln(formatNumber("1.125456", "#.###", 1) + "<br/>");
    document.writeln(formatNumber("1.125456", "#.####", 1) + "<br/>");
    document.writeln(formatNumber("1.125456", "#.#####", 1) + "<br/>");

    转载于:https://www.cnblogs.com/shanyingyuyan/p/11238307.html

    展开全文
  • springboot thymeleaf模板:前端日期类型转换 如果不转换,前端直接拿date的...input th:value="${activity.getEndtime()}" class="form-control js-datepicker" data-date-format="yyyy-mm-dd" type="text" name="star

    springboot thymeleaf模板:前端日期类型转换

    如果不转换,前端直接拿date的就会显示第一个的情况

    有用的话点点关注哦

    在这里插入图片描述
    上代码

    <div class="input-daterange input-group">
    <input th:value="${activity.getEndtime()}" class="form-control js-datepicker" data-date-format="yyyy-mm-dd" type="text"  name="starttime" placeholder="">
    <span class="input-group-addon"><i class="mdi mdi-chevron-right"></i></span>
    <input th:value="${#dates.format(activity.getEndtime(),'yyyy-MM-dd')}" class="form-control js-datepicker" data-date-format="yyyy-mm-dd" type="text" name="endtime" placeholder="">
     </div>
    

    其实就是这玩意

    th:value="${#dates.format(activity.getEndtime(),'yyyy-MM-dd')}"
    
    展开全文
  • 若直接使用th:object 分解对象后,在搭配th:field="${#dates"使用#dates.format会抛出下面的异常: ------------------------------------------------------- 若搭配th:field="*{#dates"使用#dates.format会...

    若直接使用th:object 分解对象后,在搭配th:field="${#dates"使用#dates.format会抛出下面的异常:

     

    -------------------------------------------------------

     若搭配th:field="*{#dates"使用#dates.format会抛出下面的异常:

     

     

    最后只能够这样,直接用th:value,则可以正常格式化这个日期时间的值

     

     ----------------------------------

    因为#dates.format 必须要用 ${ 开头才能命中这个方法。而用th:object后,就会分解这个bean的字段,所以最后只能用回th:value,该日期时间字段值再用变量点出来则可

     

    转载于:https://www.cnblogs.com/KAI0725/p/10108611.html

    展开全文
  • 数据绑定:<%#Eval("PartyName")%>'

    千次阅读 2016-12-18 00:40:21
    1.asp:HyperLink ID="Link" runat="server" Target="_blank" Text=''  NavigateUrl=''>这个只要是超链接... Eval("")和Bind("")这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持DataBinder.Eval(Co
  • #Python3中tornado高并发框架

    万次阅读 多人点赞 2019-01-09 00:27:16
    "" " app = tornado.web. Application ( [ ( r "/" ,IndexHandler ) , ] ) app. listen ( 8888 ) #绑定监听端口,但此时的服务器并没有开启监听 tornado.ioloop.IOLoop. current ( ) . start ( ) ...
  • ## 前台向后台传递 ### 前端代码: #### 列表页,会纯显示时间   ...#### 修改功能,会将纯... class="btn btn-info btn-mini" href="javascript:void(0)">修改 js代码:  $("a[data-name='modifyActivity'
  • 日期和时间选择器:DateTime Picker

    千次阅读 2018-11-05 10:11:05
    日期和时间选择器:DateTime Picker 一、概述 下载: http://www.malot.fr/bootstrap-datetimepicker/ 指南: ...导入css、js &lt;link href="css/bootstrap-datetimepicker.min.css...
  • 上网查询了一下 没有...function _format(pattern,num,z){ var j = pattern.length &gt;= num.length ? pattern.length : num.length ; var p = pattern.split(""); var n = num.split("...
  • js <script src="../js/moment.min.js"></script> ... <input type="datetime-local" id="time" /> ... alert( moment( $("#a_bithday").val() ).format("YYYY-MM-DD HH:mm:ss") );
  • SpringBoot+BootStrapTable+PageHelper用户新增,删除,修改

    万次阅读 热门讨论 2017-11-25 14:04:30
    <input type="button" value="删除用户" id="deleteBtn" data-toggle="modal" data-target="#deleteUserModal" class="btn btn-primary" onclick="deleteUser()"> <!-- bootstrapTable --> ...
  • Vue—new Vue() el:#app 的作用

    千次阅读 2021-08-20 17:26:11
    1.new Vue()创建一个新的 Vue 实例 2.el挂在原色 el绑定的元素内,都是Vue的作用范围 3.data数据对象 当一个Vue实例被创建时,它...script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> &l
  • javascript学习记录

    2021-11-24 14:24:51
    jQuery 是一个 JavaScript 库; 极大地简化了 JavaScript 编程; jQuery库包含功能:HTML元素选取;HTML元素操作;CSS操作;HTML事件函数; JavaScript特效和动画;HTML DOM遍历和修改;AJAX;Utilities; 基本语法:...
  • 员工管理系统---SpringBoot

    万次阅读 2021-01-08 14:45:26
    { registry.addInterceptor(new LoginHandlerInterceptor()) .addPathPatterns("/**").excludePathPatterns("/index.html","/","/user/login","/css/**","/js/**","/img/**"); } } package com.kuang.controller; ...
  • 1.asp:HyperLink ID="Link" runat="server" Target="_blank" Text=''  NavigateUrl=''> ...Eval("")和Bind("") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持  DataBinder.Eval
  • <span id="mod-info" class="float-right text-primary" style="cursor:pointer" data-toggle="modal" data-target="#accountModal">修改资料 <!-- ...省略 --> </div> <!-- modal -...
  • thymeleaf常用标签的使用方法

    千次阅读 2018-11-11 11:41:39
    一 点睛 ... 引入静态资源文件js/css 条件判断th:if th:unless与th:if 循环th:each th:switch与th:case 二 配置文件application.properties #################################################...
  • Thymeleaf3语法详解

    千次阅读 2018-06-30 19:37:15
    th:text="#{msg}"  。会在第三部分的实战详细介绍。 @{...} 链接表达式 链接表达式好处 不管是静态资源的引用,form表单的请求,凡是链接都可以用 @{...}  。这样可以动态获取项目路径,即便项目名变了,依然可以...
  • <div class="meun-item meun-item-active" href="#user" aria-controls="user" role="tab" data-toggle="tab">用户管理 <div class="meun-item" href="#chan" aria-controls="chan" role="tab" data-toggle="tab">...
  • "#httpSession.getAttribute('user').phone" ( template : "index" - line 47 , col 55 ) at org . thymeleaf . spring5 . expression . SPELVariableExpressionEvaluator . evaluate ( ...
  • django搭建个人博客(一)

    千次阅读 多人点赞 2021-04-15 19:49:38
    -- 引入js --> <script type="text/javascript" src="{% static 'js/host.js' %}"></script> <script type="text/javascript" src="{% static 'js/common.js' %}"></script> <script type="text/javascript" src="{%...
  • app 底部导航栏代码的实现

    千次阅读 2019-03-13 09:12:34
    <script type="text/javascript" src="script/api.js"> <script type="text/javascript"> apiready = function () { $api.fixStatusBar( $api.dom('header') ); api.setStatusBarStyle({ style: 'dark', color:...
  • return ('you asked for question {0}'.format(question_id)) html page <a href={{ url_for('index') }}>Index <a href = {{ url_for('find_question' ,question_id=1) }}>Question 1 {% if kline_chart %} ...
  • web期末实验 自选 京东网站

    千次阅读 2020-08-20 20:33:18
    content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="${pageContext.request....
  • freeMarker 中宏<#macro >解析

    千次阅读 2017-06-12 15:59:46
    <script type="text/javascript" src="/static/js/common.js"></script> <#nested> </body> </html> </#macro> 示例页面about.ftl,并此页面中使用宏macro <#include "/include/public.ftl"> ...
  • 使用LayUI登录页制作登录验证码

    千次阅读 2020-04-18 13:02:51
    } var param = {"loginId" : $("#username").val(), "password" : $("#password").val()}; jQuery.ajax({ type:"post", data: JSON.stringify(param), async: true, dataType: 'json', ...
  • <button type="button" class="btn bg-olive btn-xs" data-toggle="modal" data-target="#editModal" ng-click="findOne(entity.id)">修改</button> 1.6、删除商品分类 2、电商概念及表结构分析 2.1电商...
  • colorFormat颜色转换插件

    千次阅读 2018-09-17 21:56:44
    colorFormat.js是将颜色值转换为你需要格式的JavaScript库,现在仅支持浏览器支持的HEX/RGB/RGBA/HSL/HSLA等5种格式,任意格式之间互相转换。演示地址:http://www.fxss5201.cn/project/plugin/colorFormat/ 。 可能...
  • ${“# “}.datetimepicker()的用法

    千次阅读 2018-01-18 10:04:40
    datetimepicker用法总结2016年4月21日更新目录datetimepicker用法总结目录简述官方文档选项属性1 format 格式2 weekStart 一周从哪一天开始3 startDate 开始时间4 endDate 结束时间5 daysOfWeekDisabled 一周的周几...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 215,268
精华内容 86,107
关键字:

"js 数字 format=\"#,###,###,###,##0"

友情链接: HM.rar