diff --git a/src/cutecoin/core/account.py b/src/cutecoin/core/account.py
index e713887c7f903ef556dfd4e8927e3f6eb482364c..165adb6419c96281bc188e42e749855b7e52077b 100644
--- a/src/cutecoin/core/account.py
+++ b/src/cutecoin/core/account.py
@@ -90,14 +90,24 @@ class Account(QObject):
     Each account has only one key, and a key can
     be locally referenced by only one account.
     """
+    # referentials are defined here
+    # it is a list of tupple, each tupple contains :
+    # (
+    #   function used to calculate value,
+    #   format string to display value,
+    #   function used to calculate on differential value,
+    #   format string to display differential value,
+    #   translated name of referential,
+    #   type relative "r" or quantitative "q" to help choose precision on display
+    # )
     referentials = (
-        (quantitative, '{0}', quantitative, '{0}', QT_TRANSLATE_NOOP('Account', 'Units')),
+        (quantitative, '{0}', quantitative, '{0}', QT_TRANSLATE_NOOP('Account', 'Units'), 'q'),
         (relative, QT_TRANSLATE_NOOP('Account', 'UD {0}'), relative, QT_TRANSLATE_NOOP('Account', 'UD {0}'),
-         QT_TRANSLATE_NOOP('Account', 'UD')),
+         QT_TRANSLATE_NOOP('Account', 'UD'), 'r'),
         (quantitative_zerosum, QT_TRANSLATE_NOOP('Account', 'Q0 {0}'), quantitative, '{0}',
-         QT_TRANSLATE_NOOP('Account', 'Quant Z-sum')),
+         QT_TRANSLATE_NOOP('Account', 'Quant Z-sum'), 'q'),
         (relative_zerosum, QT_TRANSLATE_NOOP('Account', 'R0 {0}'), relative, QT_TRANSLATE_NOOP('Account', 'UD {0}'),
-         QT_TRANSLATE_NOOP('Account', 'Relat Z-sum'))
+         QT_TRANSLATE_NOOP('Account', 'Relat Z-sum'), 'r')
     )
 
     loading_progressed = pyqtSignal(int, int)
@@ -250,6 +260,13 @@ class Account(QObject):
         text = QCoreApplication.translate('Account', Account.referentials[self.referential][3])
         return text.format(currency)
 
+    def ref_type(self):
+        """
+        Return type of referential ('q' or 'r', for quantitative or relative)
+        :return: str
+        """
+        return Account.referentials[self.referential][5]
+
     def set_walletpool_size(self, size, password):
         '''
         Change the size of the wallet pool
diff --git a/src/cutecoin/gui/informations_tab.py b/src/cutecoin/gui/informations_tab.py
index 14d42f3de9a1bc941ae94e33ac4c19edb2d102cd..cba4bc499cdedc44b56136415b91bbfe38ed4063 100644
--- a/src/cutecoin/gui/informations_tab.py
+++ b/src/cutecoin/gui/informations_tab.py
@@ -49,7 +49,9 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
 
         if block:
             ud = self.get_referential_diff_value(block['dividend'])
-            if isinstance(ud, int):
+            # if referential type is quantitative...
+            if self.account.ref_type() == 'q':
+                # display int values
                 # use the float type of 64bits, to avoid display a 32bit signed integer...
                 localized_ud = QLocale().toString(float(ud), 'f', 0)
                 localized_mass_per_member = QLocale().toString(
@@ -58,8 +60,8 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
                 localized_monetary_mass = QLocale().toString(
                     float(self.get_referential_diff_value(block['monetaryMass'])), 'f', 0
                 )
-
             else:
+                # display float values
                 localized_ud = QLocale().toString(ud, 'f', 6)
                 localized_mass_per_member = QLocale().toString(
                     self.get_referential_diff_value(block['monetaryMass'] / block['membersCount']), 'f', 6
@@ -106,7 +108,9 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
             self.label_general.setText(self.tr('No Universal Dividend created yet.'))
 
         if block:
-            if isinstance(ud, int):
+            # if referential type is quantitative...
+            if self.account.ref_type() == 'q':
+                # display int values
                 localized_ud_t1 = QLocale().toString(
                     float(
                         self.get_referential_diff_value(
@@ -119,6 +123,7 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget):
                     0
                 )
             else:
+                # display float values
                 localized_ud_t1 = QLocale().toString(
                     float(
                         self.get_referential_diff_value(
diff --git a/src/cutecoin/gui/transactions_tab.py b/src/cutecoin/gui/transactions_tab.py
index 5b825e37d3386c0976b06c61e73875185b443bcf..4d6b382e5dc3e09eb5d71e15a5e2474460f4a132 100644
--- a/src/cutecoin/gui/transactions_tab.py
+++ b/src/cutecoin/gui/transactions_tab.py
@@ -94,21 +94,12 @@ class TransactionsTabWidget(QWidget, Ui_transactionsTabWidget):
 
         proxy = self.table_history.model()
         balance = proxy.deposits - proxy.payments
-        if isinstance(proxy.deposits, int):
-            localized_deposits = QLocale().toString(
-                self.app.current_account.units_to_ref(proxy.deposits, self.community))
-            localized_payments = QLocale().toString(
-                self.app.current_account.units_to_ref(proxy.payments, self.community))
-            localized_balance = QLocale().toString(
-                self.app.current_account.units_to_diff_ref(balance, self.community))
-
-        else:
-            localized_deposits = QLocale().toString(
-                self.app.current_account.units_to_ref(proxy.deposits, self.community), 'f', 6)
-            localized_payments = QLocale().toString(
-                self.app.current_account.units_to_ref(proxy.payments, self.community), 'f', 6)
-            localized_balance = QLocale().toString(
-                self.app.current_account.units_to_diff_ref(balance, self.community), 'f', 6)
+        localized_deposits = QLocale().toString(
+            self.app.current_account.units_to_diff_ref(proxy.deposits, self.community))
+        localized_payments = QLocale().toString(
+            self.app.current_account.units_to_diff_ref(proxy.payments, self.community))
+        localized_balance = QLocale().toString(
+            self.app.current_account.units_to_diff_ref(balance, self.community))
 
         self.label_deposit.setText(QCoreApplication.translate("TransactionsTabWidget", "<b>Deposits</b> {:} {:}").format(
             localized_deposits,
diff --git a/src/cutecoin/gui/transfer.py b/src/cutecoin/gui/transfer.py
index ad0aa4a2991db77427e2607ea0f792d99fd89f17..070b4e2607dff70530334950a9a315cb6e7159b9 100644
--- a/src/cutecoin/gui/transfer.py
+++ b/src/cutecoin/gui/transfer.py
@@ -124,9 +124,12 @@ Please try again later"""))
         amount = self.wallet.value(self.community)
         ref_amount = self.account.units_to_ref(amount, self.community)
         ref_name = self.account.ref_name(self.community.currency)
-        if isinstance(ref_amount, int):
-            ref_amount = QLocale().toString(ref_amount)
+        # if referential type is quantitative...
+        if self.account.ref_type() == 'q':
+            # display int values
+            ref_amount = QLocale().toString(float(ref_amount), 'f', 0)
         else:
+            # display float values
             ref_amount = QLocale().toString(ref_amount, 'f', 6)
         self.label_total.setText("{0} {1}".format(ref_amount, ref_name))
         self.spinbox_amount.setSuffix(" " + self.community.currency)
@@ -141,9 +144,12 @@ Please try again later"""))
         amount = self.wallet.value(self.community)
         ref_amount = self.account.units_to_ref(amount, self.community)
         ref_name = self.account.ref_name(self.community.currency)
-        if isinstance(ref_amount, int):
-            ref_amount = QLocale().toString(ref_amount)
+        # if referential type is quantitative...
+        if self.account.ref_type() == 'q':
+            # display int values
+            ref_amount = QLocale().toString(float(ref_amount), 'f', 0)
         else:
+            # display float values
             ref_amount = QLocale().toString(ref_amount, 'f', 6)
         self.label_total.setText("{0} {1}".format(ref_amount, ref_name))
         self.spinbox_amount.setValue(0)
diff --git a/src/cutecoin/gui/wallets_tab.py b/src/cutecoin/gui/wallets_tab.py
index c652b94264235f601a346f75d5defc1568e30cb3..22cdc57472ee852dcde3b2f9bbac79f1f48ca34f 100644
--- a/src/cutecoin/gui/wallets_tab.py
+++ b/src/cutecoin/gui/wallets_tab.py
@@ -101,16 +101,17 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab):
 
         amount = self.account.amount(self.community)
         maximum = self.community.monetary_mass
-
-        if isinstance(self.get_referential_value(amount), int):
+        # if referential type is quantitative...
+        if self.account.ref_type() == 'q':
+            # display int values
             localized_amount = QLocale().toString(float(self.get_referential_value(amount)), 'f', 0)
-        else:
-            localized_amount = QLocale().toString(self.get_referential_value(amount), 'f', 6)
-
-        if isinstance(self.get_referential_value(maximum), int):
+            localized_minimum = QLocale().toString(float(self.get_referential_value(0)), 'f', 0)
             localized_maximum = QLocale().toString(float(self.get_referential_value(maximum)), 'f', 0)
         else:
-            localized_maximum = QLocale().toString(self.get_referential_value(maximum), 'f', 6)
+            # display float values
+            localized_amount = QLocale().toString(float(self.get_referential_value(amount)), 'f', 6)
+            localized_minimum = QLocale().toString(float(self.get_referential_value(0)), 'f', 6)
+            localized_maximum = QLocale().toString(float(self.get_referential_value(maximum)), 'f', 6)
 
         # set infos in label
         self.label_balance.setText(
@@ -123,11 +124,11 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab):
                 self.tr("Your money share "),
                 self.tr("{:.2f}%").format(amount / maximum * 100) if maximum != 0 else "0%",
                 self.tr("Your part "),
-                self.tr("{:} {:} in [{:.2f} ; {:}] {:}")
+                self.tr("{:} {:} in [{:} ; {:}] {:}")
                 .format(
                     localized_amount,
                     self.get_referential_name(),
-                    self.get_referential_value(0),
+                    localized_minimum,
                     localized_maximum,
                     self.get_referential_name()
                 )
diff --git a/src/cutecoin/models/txhistory.py b/src/cutecoin/models/txhistory.py
index ea09932a37c444fa4ee4e0060281a1c2681887b0..bebd9e13ee13dab3e2f0df2f77f69e21fbcd7357 100644
--- a/src/cutecoin/models/txhistory.py
+++ b/src/cutecoin/models/txhistory.py
@@ -109,9 +109,12 @@ class TxFilterProxyModel(QSortFilterProxyModel):
                 if source_data is not "":
                     amount_ref = self.account.units_to_diff_ref(source_data,
                                                                 self.community)
-                    if isinstance(amount_ref, int):
-                        return QLocale().toString(amount_ref)
+                    # if referential type is quantitative...
+                    if self.account.ref_type() == 'q':
+                        # display int values
+                        return QLocale().toString(float(amount_ref), 'f', 0)
                     else:
+                        # display float values
                         return QLocale().toString(amount_ref, 'f', 6)
 
         if role == Qt.FontRole:
diff --git a/src/cutecoin/models/wallets.py b/src/cutecoin/models/wallets.py
index efb0a2473c098b67765360cab511beda178fe458..56a59423e11120ae8ce78b82906d6b7c24938899 100644
--- a/src/cutecoin/models/wallets.py
+++ b/src/cutecoin/models/wallets.py
@@ -39,9 +39,12 @@ class WalletsFilterProxyModel(QSortFilterProxyModel):
                 return source_data
             if source_index.column() == self.sourceModel().columns_types.index('amount'):
                 amount_ref = self.account.units_to_ref(source_data, self.community)
-                if isinstance(amount_ref, int):
-                    return QLocale().toString(amount_ref)
+                # if referential type is quantitative...
+                if self.account.ref_type() == 'q':
+                    # display int values
+                    return QLocale().toString(float(amount_ref), 'f', 0)
                 else:
+                    # display float values
                     return QLocale().toString(amount_ref, 'f', 6)
 
         if role == Qt.TextAlignmentRole: