Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

« Newer Snippets
Older Snippets »
Showing 1-3 of 3 total  RSS 

format brazilian money


function FormataReais(fld, milSep, decSep, e) {
		var sep = 0;
		var key = '';
		var i = j = 0;
		var len = len2 = 0;
		var strCheck = '0123456789';
		var aux = aux2 = '';
		var whichCode = (window.Event) ? e.which : e.keyCode;
		if (whichCode == 13) return true;
	 	key = String.fromCharCode(whichCode);  // Valor para o código da Chave
		if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
		len = fld.value.length;
		for(i = 0; i < len; i++)
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
 		break;
 		aux = '';
 		for(; i < len; i++)
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
		aux += key;
		len = aux.length;
		if (len == 0) fld.value = '';
		if (len == 1) fld.value = '0'+ decSep + '0' + aux;
		if (len == 2) fld.value = '0'+ decSep + aux;
		if (len > 2) {
			aux2 = '';
 			for (j = 0, i = len - 3; i >= 0; i--) {
				if (j == 3) {
					aux2 += milSep;
					j = 0;
				}
				aux2 += aux.charAt(i);
 				j++;
			}
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
			fld.value += aux2.charAt(i);
			fld.value += decSep + aux.substr(len - 2, len);
		}
		return false;
}


Then use in the form field:
onkeypress="return(FormataReais(this,'.',',',event))"

money-bag object

REBOL []

money-bag: context [
    data: copy []

    insert: func [value [money!] /local found] [
        repeat i length? data [
            if (first value) = (first data/:i) [
                poke data i add data/:i value
                found: true
                break
            ]
        ]
        if not found [append data value]
    ]

    remove: func [value [money!] /local found] [
        repeat i length? data [
            if (first value) = (first data/:i) [
                poke data i subtract data/:i value
                found: true
                break
            ]
        ]
        if not found [alert "That denomination wasn't found in the bag"]
    ]

    ; no conversions yet.
    total: has [result] [
        result: 0
        foreach value data [result: result + second value]
        result
    ]

    show: does [probe data]
]

ins: func [val] [bag/insert val  bag/show]
rem: func [val] [bag/remove val  bag/show]

bag: make money-bag []
ins $100
ins USD$100
ins DEM$100
ins USD$200
rem $50
print bag/total

halt

Format Currency //Javascript Function


Formats strings/numbers into "money format" without loops :)

Defaults:
float ploint cutoff = 2 decimal places
decimal separator = ','
thousands separator = '.'

[UPDATED CODE AND HELP CAN BE FOUND HERE]



//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/number/fmt-money [v1.1]

Number.prototype.formatMoney = function(c, d, t){
	var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};



Usage

(123456789.12345).formatMoney(2, '.', ',');
« Newer Snippets
Older Snippets »
Showing 1-3 of 3 total  RSS