js 将数值显示为金额

项目中常遇到要将数值显示为金额。例如:3000 => $3,000.00

function formateMoney(number, places, symbol, thousand, decimal) {
    number = number || 0;
    places = !isNaN(places = Math.abs(places)) ? places : 2;
    symbol = symbol !== undefined ? symbol : "$";
    thousand = thousand || ",";
    decimal = decimal || ".";
    var negative = number < 0 ? "-" : "",
        i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
        j = (j = i.length) > 3 ? j % 3 : 0;
    return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
}

function getSelectPos(obj) {
    var esrc = document.getElementById(obj);
    if (esrc == null) {
        esrc = event.srcElement;
    }
    var rtextRange = esrc.createTextRange();
    rtextRange.moveStart(‘character‘, esrc.value.length);
    rtextRange.collapse(true);
    rtextRange.select();
}

具体用法:

$("#tbPrice").focus(function () {
        var price = $("#Price").val();
        $(this).val(price);
        getSelectPos("tbPrice");
 });

    $("#tbPrice").blur(function () {
        var value = $(this).val();
        if (!isNaN(value) && value != "") {
            var price = parseFloat(value);
            var formattedPrice = formateMoney(price, 2, "");
            $("#Price").val(price.toFixed(2));
            $(this).val(formattedPrice);
        }
        else {
            $("#Price").val("");
        }
    });

Html部分为:

<input type="text" id="tbPrice" name="tbPrice"/> //用来显示金额
<input type="text" id="Price" name="Price" style="display:none;"/> //用来保存真正的数值
时间: 2024-07-29 01:16:41

js 将数值显示为金额的相关文章

JS中同步显示并分割输入的数字字符串

题目比较晦涩,来张图来说明要表达的效果: 第一张图的效果就是,用户输入一个数字,上面就显示一个大层,然后显示输入的数字,并把数字用空格按照每四位分割出来.好像在建行的网上银行上面就有这种效果.第二个图的效果就是用户在一个文本框中输入一串数字,然后再光标离开的时候,把数字按照每三位用逗号给分割开来,类似于老外的金钱输入效果. 效果一 同步显示分割分割输入 这种效果中,仿造的就是输入银行卡子类的,故只能够输入数字,需要禁用用户输入的其它字符下面是几种实现方式.先贴上HTML和CSS代码: 1 <ht

js图片轮换显示实例

用js脚本实现图片轮换显示,很简单的小例子,特此分享. 1,js代码部分,图片轮换代码. <script language="JavaScript"> var imgUrl=new Array(); var imgLink=new Array(); var imgText=new Array(); var picNum=0; imgUrl[1]="图片地址一"; imgLink[1]="链接1"; imgText[1]="标

emWin(ucGui)数值显示例程 -【worldsing笔记】

本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip ? 在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通常,较为容易(也更为有效)的是调用一个例程显示所需结 构的数值. emWin 支持各种十进制.十六进制和二进制输出.本章将对这些例程进行逐一描述.所有函数不需要使用浮点库,并对速度和大小进行了优化.当然"Sprintf"可以用于任何系统.使 用本章介绍的例程,有时可以简化操作,节省 ROM

Unity3D游戏开发之伤害数值显示

众所周知,在RPG游戏策划中最为重要的一个环节是数值策划.数值策划是一个关于游戏平衡方面的概念,它是一种非常深奥的概念.游戏从某种意义上 是多种选择的组合,因此如果一个游戏失去平衡,那么就会减少选择而影响游戏的乐趣.数值策划人员通常需要按照一定的规则和方法将整个游戏系统的相关数值调整到一个合适的范围,以确保玩家可以有更多地选择以增强游戏的可玩性.数值策划是近年来国内游戏行业从国外游戏业引申过来的一个概念,我们在学习游戏设计的过程中,除了专注于技术上的实现以外,还应该对游戏设计中的相关理论有所了解

ECHARTS柱形图和饼图数值显示

ECHARTS柱形图和饼图数值显示,官方文档写的很不错,这里自己单独梳理一下,以后可能会用的到. 1.柱形图数值显示 在option添加: label:{ normal:{ show: true, position: 'top'} }, 其中position为数值显示的位置,具体属性可以查看官方的配置项. 2.饼图 在option中series添加: itemStyle:{ normal:{ label:{ show: true, formatter: '{b} : {c} ({d}%)', t

[Unity3D]Unity3D游戏开发之伤害数值显示

大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.众所周知,在RPG游戏策划中最为重要的一个环节是数值策划.数值策划是一个关于游戏平衡方面的概念,它是一种非常深奥的概念. 游戏从某种意义上 是多种选择的组合,因此假设一个游戏失去平衡,那么就会降低选择而影响游戏的乐趣. 数值策划人员通常须要依照一定的规则和方法将整个游戏系统的相关数值调整到一个合适的范围.以确保玩家能够有很多其它地选择以增强游戏的可玩性.数值策划是近年来国内游戏行业从国外游戏

外贸建站JS控制随机显示内容代码分享

外贸建站JS控制随机显示内容代码分享 <script> $(function(){ $('li[id^=p_]').each(function(){ var this_id = $(this).attr("id"); var id_arr = this_id.split('_'); if(id_arr[1]>9){ $(this).hide(); } }) }) function tryLuck(){ var num=30; var p_list=new Array(

JS DOM:显示文献来源链接表

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Explaining the Ddocument Ob Model</title> <link href="style08.css" type="text/css" rel="stylesheet&qu

js控制div显示与隐藏

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ