Number Printing

by amorris

HTML

<h1>Percent</h1>
<input name="first"/><br/>
<input name="second"/><br/>
<br/>
<h1>Dollar</h1>
<input name="third"/><br/>
<input name="fourth"/><br/>

CoffeeScript

convertToPercent = (value) ->
  if '%' in value
    value = parseFloat(value)/100.0
  else
    value = parseFloat(value)
  return (100*value).toFixed(1)+'%'

convertToDollar = (value) ->
  value = parseFloat(value.replace(/[^0-9-.]/g, "")).toFixed(2)
  return '$'+value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

$ ->

 $('[name="first"]').val(0.23)
 
 $('[name="second"]').val(convertToPercent($('[name="first"]').val()))
 
 $('[name="first"]').on('change', () ->
   $('[name="second"]').val(convertToPercent($(@).val()))
 )
 
 
 $('[name="third"]').val('$1,200,000')
 
 $('[name="fourth"]').val(convertToDollar($('[name="third"]').val()))
 
 $('[name="third"]').on('change', () ->
   $('[name="fourth"]').val(convertToDollar($(@).val()))
 )