如何采用纯css将输入的数字转换为金额格式

html-css015

如何采用纯css将输入的数字转换为金额格式,第1张

这个事css干不了吧,怎么也得用上js。

css只能改变显示的样子,在Dom中做改动得用js了

js代码拿去用:

function number_format(number, decimals, dec_point, thousands_sep) {

    /*

    * 参数说明:

    * number:要格式化的数字

    * decimals:保留几位小数

    * dec_point:小数点符号

    * thousands_sep:千分位符号

    * */

    number = (number + '').replace(/[^0-9+-Ee.]/g, '')

    var n = !isFinite(+number) ? 0 : +number,

        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),

        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,

        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,

        s = '',

        toFixedFix = function (n, prec) {

            var k = Math.pow(10, prec)

            return '' + Math.ceil(n * k) / k

        }

 

    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')

    var re = /(-?\d+)(\d{3})/

    while (re.test(s[0])) {

        s[0] = s[0].replace(re, "$1" + sep + "$2")

    }

 

    if ((s[1] || '').length < prec) {

        s[1] = s[1] || ''

        s[1] += new Array(prec - s[1].length + 1).join('0')

    }

    return s.join(dec)

}

使用方法:

var num=number_format(1234567.089, 2, ".", ",")//1,234,567.09

1.效果呈现。

2.素材&要求

3.选中需要千分位显示的数据,按住鼠标右键,点击设置单元格格式。如下图。

4.出现如下图所示。然后点击自定义,图中红色方框部分。

5.点击自定义之后,如下图。红色方框1中,有个示例,我们在红色方框2中输入#,###.00,上方示例会出现我们输入后的效果。可以根据这个示例效果来判断我们输入是否正确、合适

6.如图。当输入#,###的时候,上方示例已经变成千分位了。

7.此时,为了精确,我们在#后面输入.00,表示两个小数位数。

8.其实用数字0来代替符号#输入,也可以达到同样的效果。如下图。

9.最后效果,最后为了表格好看我们可以加上边框。

10.最后在上方工具栏视图中,黄色方框中的网格线前面的√去掉。

11.done.