aboutsummaryrefslogtreecommitdiff
path: root/system/libraries/format/int.zig
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries/format/int.zig')
-rw-r--r--system/libraries/format/int.zig25
1 files changed, 25 insertions, 0 deletions
diff --git a/system/libraries/format/int.zig b/system/libraries/format/int.zig
new file mode 100644
index 0000000..17cf4c3
--- /dev/null
+++ b/system/libraries/format/int.zig
@@ -0,0 +1,25 @@
+//! Integer formatting
+
+pub fn toStr(num: u64, buf: []u8) []u8 {
+ if (num == 0) {
+ buf[0] = '0';
+ return buf[0..1];
+ }
+
+ var n = num;
+ var i: usize = 0;
+
+ while (n > 0) : (i += 1) {
+ buf[i] = @as(u8, @intCast(n % 10)) + '0';
+ n /= 10;
+ }
+
+ var j: usize = 0;
+ while (j < i / 2) : (j += 1) {
+ const tmp = buf[j];
+ buf[j] = buf[i - 1 - j];
+ buf[i - 1 - j] = tmp;
+ }
+
+ return buf[0..i];
+}