<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: money code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 09:24:51 GMT</pubDate>
    <description>DZone Snippets: money code</description>
    <item>
      <title>format brazilian money</title>
      <link>http://snippets.dzone.com/posts/show/3270</link>
      <description>&lt;code&gt;&lt;br /&gt;&lt;br /&gt;function FormataReais(fld, milSep, decSep, e) {&lt;br /&gt;		var sep = 0;&lt;br /&gt;		var key = '';&lt;br /&gt;		var i = j = 0;&lt;br /&gt;		var len = len2 = 0;&lt;br /&gt;		var strCheck = '0123456789';&lt;br /&gt;		var aux = aux2 = '';&lt;br /&gt;		var whichCode = (window.Event) ? e.which : e.keyCode;&lt;br /&gt;		if (whichCode == 13) return true;&lt;br /&gt;	 	key = String.fromCharCode(whichCode);  // Valor para o c&#243;digo da Chave&lt;br /&gt;		if (strCheck.indexOf(key) == -1) return false;  // Chave inv&#225;lida&lt;br /&gt;		len = fld.value.length;&lt;br /&gt;		for(i = 0; i &lt; len; i++)&lt;br /&gt;		if ((fld.value.charAt(i) != '0') &amp;&amp; (fld.value.charAt(i) != decSep)) &lt;br /&gt; 		break;&lt;br /&gt; 		aux = '';&lt;br /&gt; 		for(; i &lt; len; i++)&lt;br /&gt;		if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);&lt;br /&gt;		aux += key;&lt;br /&gt;		len = aux.length;&lt;br /&gt;		if (len == 0) fld.value = '';&lt;br /&gt;		if (len == 1) fld.value = '0'+ decSep + '0' + aux;&lt;br /&gt;		if (len == 2) fld.value = '0'+ decSep + aux;&lt;br /&gt;		if (len &gt; 2) {&lt;br /&gt;			aux2 = '';&lt;br /&gt; 			for (j = 0, i = len - 3; i &gt;= 0; i--) {&lt;br /&gt;				if (j == 3) {&lt;br /&gt;					aux2 += milSep;&lt;br /&gt;					j = 0;&lt;br /&gt;				}&lt;br /&gt;				aux2 += aux.charAt(i);&lt;br /&gt; 				j++;&lt;br /&gt;			}&lt;br /&gt;			fld.value = '';&lt;br /&gt;			len2 = aux2.length;&lt;br /&gt;			for (i = len2 - 1; i &gt;= 0; i--)&lt;br /&gt;			fld.value += aux2.charAt(i);&lt;br /&gt;			fld.value += decSep + aux.substr(len - 2, len);&lt;br /&gt;		}&lt;br /&gt;		return false;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then use in the form field:&lt;br /&gt;&lt;code&gt;onkeypress="return(FormataReais(this,'.',',',event))"&lt;/code&gt;</description>
      <pubDate>Thu, 11 Jan 2007 10:22:26 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3270</guid>
      <author>caffo ()</author>
    </item>
    <item>
      <title>money-bag object</title>
      <link>http://snippets.dzone.com/posts/show/1148</link>
      <description>&lt;code&gt;&lt;br /&gt;REBOL []&lt;br /&gt;&lt;br /&gt;money-bag: context [&lt;br /&gt;    data: copy []&lt;br /&gt;&lt;br /&gt;    insert: func [value [money!] /local found] [&lt;br /&gt;        repeat i length? data [&lt;br /&gt;            if (first value) = (first data/:i) [&lt;br /&gt;                poke data i add data/:i value&lt;br /&gt;                found: true&lt;br /&gt;                break&lt;br /&gt;            ]&lt;br /&gt;        ]&lt;br /&gt;        if not found [append data value]&lt;br /&gt;    ]&lt;br /&gt;&lt;br /&gt;    remove: func [value [money!] /local found] [&lt;br /&gt;        repeat i length? data [&lt;br /&gt;            if (first value) = (first data/:i) [&lt;br /&gt;                poke data i subtract data/:i value&lt;br /&gt;                found: true&lt;br /&gt;                break&lt;br /&gt;            ]&lt;br /&gt;        ]&lt;br /&gt;        if not found [alert "That denomination wasn't found in the bag"]&lt;br /&gt;    ]&lt;br /&gt;&lt;br /&gt;    ; no conversions yet.&lt;br /&gt;    total: has [result] [&lt;br /&gt;        result: 0&lt;br /&gt;        foreach value data [result: result + second value]&lt;br /&gt;        result&lt;br /&gt;    ]&lt;br /&gt;&lt;br /&gt;    show: does [probe data]&lt;br /&gt;]&lt;br /&gt;&lt;br /&gt;ins: func [val] [bag/insert val  bag/show]&lt;br /&gt;rem: func [val] [bag/remove val  bag/show]&lt;br /&gt;&lt;br /&gt;bag: make money-bag []&lt;br /&gt;ins $100&lt;br /&gt;ins USD$100&lt;br /&gt;ins DEM$100&lt;br /&gt;ins USD$200&lt;br /&gt;rem $50&lt;br /&gt;print bag/total&lt;br /&gt;&lt;br /&gt;halt&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 13 Jan 2006 04:14:04 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1148</guid>
      <author>gregg.irwin (Gregg Irwin)</author>
    </item>
    <item>
      <title>Format Currency //Javascript Function</title>
      <link>http://snippets.dzone.com/posts/show/425</link>
      <description>&lt;a href="http://www.jsfromhell.com/number/fmt-money"&gt;&lt;br /&gt;Formats strings/numbers into "money format" without loops :)&lt;br /&gt;&lt;br /&gt;Defaults:&lt;br /&gt;float ploint cutoff = 2 decimal places&lt;br /&gt;decimal separator = ','&lt;br /&gt;thousands separator = '.'&lt;br /&gt;&lt;br /&gt;[UPDATED CODE AND HELP CAN BE FOUND HERE]&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;//+ Jonas Raoni Soares Silva&lt;br /&gt;//@ http://jsfromhell.com/number/fmt-money [v1.1]&lt;br /&gt;&lt;br /&gt;Number.prototype.formatMoney = function(c, d, t){&lt;br /&gt;	var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n &lt; 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) &gt; 3 ? j % 3 : 0;&lt;br /&gt;	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) : "");&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;(123456789.12345).formatMoney(2, '.', ',');&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 02 Jul 2005 02:51:05 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/425</guid>
      <author>jonasraoni (Jonas Raoni Soares Silva)</author>
    </item>
  </channel>
</rss>
