diff --git a/src/data.rs b/src/data.rs
index d0462af28ea50b9085c6a4c4251b01fc0a655d76..5dbc79d18666b531ac326dc653c0d518cf20e9d8 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -122,11 +122,16 @@ impl Data {
 	}
 	// --- methods ---
 	pub fn format_balance(&self, amount: Balance) -> String {
-		let base: u32 = 10;
+		let base: u64 = 10;
+		let integer_part = amount / base.pow(self.token_decimals);
+		let fractional_part = amount % base.pow(self.token_decimals);
+
 		format!(
-			"{} {}",
-			(amount as f32) / (base.pow(self.token_decimals) as f32),
-			self.token_symbol
+			"{}.{:0left_padding$} {}",
+			integer_part,
+			fractional_part,
+			self.token_symbol,
+			left_padding = self.token_decimals as usize
 		)
 	}
 	// --- mutators ---