Skip to content

Commit

Permalink
Merge pull request #11 from kmpm/feature-commadecimal
Browse files Browse the repository at this point in the history
Support for decimal comma
  • Loading branch information
shancarter committed Jul 5, 2013
2 parents 69d79ab + 663aacb commit 2e093d8
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
5 changes: 5 additions & 0 deletions index.html
Expand Up @@ -33,6 +33,11 @@ <h3>Settings</h3>
<label><input class="settingsElement" type="radio" name="delimiter" id='delimiterComma' value="comma" /> Comma</label>
<label><input class="settingsElement" type="radio" name="delimiter" id='delimiterTab' value="tab" /> Tab</label>
</p>
<p>Decimal Sign:

<label><input class="settingsElement" type="radio" name="decimal" id='decimalDot' value="dot" checked/> Dot</label>
<label><input class="settingsElement" type="radio" name="decimal" id='decimalComma' value="comma" /> Comma</label>
</p>
<p><label><input class="settingsElement" type="checkbox" name="" value="" id="headersProvidedCB" checked /> First row is the header</label></p>
<div class="settingsGroup">
<p>Transform: <label><input class="settingsElement" type="radio" name="headerModifications" value="downcase" id='headersDowncase' /> downcase</label>
Expand Down
8 changes: 7 additions & 1 deletion js/CSVParser.js
Expand Up @@ -7,6 +7,8 @@
// CSV Parsing Function from Ben Nadel, http://www.bennadel.com/blog/1504-Ask-Ben-Parsing-CSV-Strings-With-Javascript-Exec-Regular-Expression-Command.htm


var isDecimal_re = /^\s*(\+|-)?((\d+([,\.]\d+)?)|([,\.]\d+))\s*$/;

var CSVParser = {

//---------------------------------------
Expand All @@ -26,7 +28,7 @@ var CSVParser = {
//---------------------------------------
//var parseOutput = CSVParser.parse(this.inputText, this.headersProvided, this.delimiter, this.downcaseHeaders, this.upcaseHeaders);

parse: function (input, headersIncluded, delimiterType, downcaseHeaders, upcaseHeaders) {
parse: function (input, headersIncluded, delimiterType, downcaseHeaders, upcaseHeaders, decimalSign) {

var dataArray = [];

Expand Down Expand Up @@ -127,6 +129,10 @@ var CSVParser = {
var numInts = 0;
for (var r=0; r < numRowsToTest; r++) {
if (dataArray[r]) {
//replace comma with dot if comma is decimal separator
if(decimalSign='comma' && isDecimal_re.test(dataArray[r][i])){
dataArray[r][i] = dataArray[r][i].replace(",", ".");
}
if (CSVParser.isNumber(dataArray[r][i])) {
numInts++
if (String(dataArray[r][i]).indexOf(".") > 0) {
Expand Down
1 change: 1 addition & 0 deletions js/Controller.js
Expand Up @@ -67,6 +67,7 @@ $(document).ready(function(){
}

d.delimiter = $('input[name=delimiter]:checked').val();
d.decimal = $('input[name=decimal]:checked').val();

d.useUnderscores = true;

Expand Down

0 comments on commit 2e093d8

Please sign in to comment.