diff --git a/FSL/src/configregions.cpp b/FSL/src/configregions.cpp
index dfce436479d86544e285efc9241d1d43dcb3d7f9..7c9bd42a5244b26c1ca8e4c292ea6d6dc4f62c04 100644
--- a/FSL/src/configregions.cpp
+++ b/FSL/src/configregions.cpp
@@ -18,7 +18,7 @@ ConfigRegions::ConfigRegions(QWidget *parent) :
     positron_cut_validator = new QDoubleValidator(-100000.0,100000.0,8);
     gamma_cut_validator = new QDoubleValidator(-100000.0,100000.0,8);
     
-    QLocale loc(QLocale::C);
+    loc= QLocale::C;
     loc.setNumberOptions(QLocale::RejectGroupSeparator);
     
     electron_cut_validator->setLocale(loc);
@@ -48,10 +48,10 @@ void ConfigRegions::add_region_config()
 
     region_name = (ui->lE_reg_name->text()).toStdString();
     frootLV_names = (ui->lE_froot->text()).toStdString();
-    electron_cut = (ui->lE_electron->text()).toDouble();
-    proton_cut = (ui->lE_proton->text()).toDouble();
-    positron_cut = (ui->lE_positron->text()).toDouble();
-    gamma_cut = (ui->lE_gamma->text()).toDouble();
+    electron_cut = loc.toDouble(ui->lE_electron->text(), &loc_bool);
+    proton_cut = loc.toDouble(ui->lE_proton->text(), &loc_bool);
+    positron_cut = loc.toDouble(ui->lE_positron->text(), &loc_bool);
+    gamma_cut = loc.toDouble(ui->lE_gamma->text(), &loc_bool);
 
 
 
diff --git a/FSL/src/configregions.h b/FSL/src/configregions.h
index 860f0d40d616ebe542e3f157bb473cae3fe3419b..76ca0b6a33736f1cb01454f85c2fd351537ff431 100644
--- a/FSL/src/configregions.h
+++ b/FSL/src/configregions.h
@@ -3,7 +3,7 @@
 
 #include <QDialog>
 #include <QDoubleValidator>
-
+#include <QLocale>
 
 namespace Ui {
 class ConfigRegions;
@@ -23,6 +23,8 @@ public:
     double positron_cut;
     double gamma_cut;
     void add_region_config();
+    QLocale loc;
+    bool loc_bool;
 
 signals:
     void send_config(std::string  region_name, std::string frootLV_names
diff --git a/FSL/src/fsl_mainwindow.cpp b/FSL/src/fsl_mainwindow.cpp
index 84d39e434bf3e4ab820748055423b61fa3a6bf95..6712eb0ee6d52292678a1325b1f7b0c06520c48a 100644
--- a/FSL/src/fsl_mainwindow.cpp
+++ b/FSL/src/fsl_mainwindow.cpp
@@ -129,7 +129,7 @@ FSLMainWindow::FSLMainWindow(QWidget *parent)
     p_z_validator = new QDoubleValidator(-100000.0,100000.0,8);
     mag_field_validator = new QDoubleValidator(-100000.0,100000.0,8);
     
-    QLocale lo(QLocale::C);
+    lo = QLocale::C;
     lo.setNumberOptions(QLocale::RejectGroupSeparator);
     
     p_x_validator->setLocale(lo);
@@ -420,10 +420,10 @@ void FSLMainWindow::configure_regions()
         std::vector<std::string> froot_names = this->parse_froot_string(((ui->regions_table->model()
                                                                           ->index(row,1)).data().toString()).toStdString());
 
-        double ele_cut = (ui->regions_table->model()->index(row,2)).data().toDouble();
-        double prot_cut = (ui->regions_table->model()->index(row,3)).data().toDouble();
-        double posit_cut = (ui->regions_table->model()->index(row,4)).data().toDouble();
-        double gam_cut = (ui->regions_table->model()->index(row,5)).data().toDouble();
+        double ele_cut = lo.toDouble((ui->regions_table->model()->index(row,2)).data().toString(), &locale_bool);
+        double prot_cut = lo.toDouble((ui->regions_table->model()->index(row,3)).data().toString(), &locale_bool);
+        double posit_cut = lo.toDouble((ui->regions_table->model()->index(row,4)).data().toString(), &locale_bool);
+        double gam_cut = lo.toDouble((ui->regions_table->model()->index(row,5)).data().toString(), &locale_bool);
 
         Region region_from_list = {reg_name, froot_names, ele_cut,prot_cut,posit_cut,gam_cut};
         regions.push_back(region_from_list);
@@ -688,9 +688,9 @@ void FSLMainWindow::assign_magnetic_field_map()
 //Function to configure particle energy and direction
 void FSLMainWindow::configure_energy_direction()
 {
-    p_x = ui->lE_px->text().toDouble();
-    p_y = ui->lE_py->text().toDouble();
-    p_z = ui->lE_pz->text().toDouble();
+    p_x = lo.toDouble(ui->lE_px->text(), &locale_bool);
+    p_y = lo.toDouble(ui->lE_py->text(), &locale_bool);
+    p_z = lo.toDouble(ui->lE_pz->text(), &locale_bool);
     double p = sqrt(pow(p_x,2)+pow(p_y,2)+pow(p_z,2));
 
     x_dir = std::to_string(p_x/p);
diff --git a/FSL/src/fsl_mainwindow.h b/FSL/src/fsl_mainwindow.h
index cc0b284ef226b2e29bb4ffa37fd8787d3e177afd..3b12f85b735cc6c12bb07a45913dcd1539574a4a 100644
--- a/FSL/src/fsl_mainwindow.h
+++ b/FSL/src/fsl_mainwindow.h
@@ -5,6 +5,7 @@
 #include <nlohmann/json.hpp>
 #include <QStringListModel>
 #include <QProcess>
+#include <QLocale>
 #include <QStandardItemModel>
 #include <QDoubleValidator>
 #include "configregions.h"
@@ -52,6 +53,8 @@ public:
 
 
     //Parameters associated with the main tab
+    QLocale lo;
+    bool locale_bool;
     nlohmann::json j;
     QProcess fullSimLight_process;
     QProcess gmex_process;