Update the truncate number function to use decimal point (#333)

* Fixed to truncate as "1.234M" instead of "1234K"

* Optimized by switching to strings to avoid divisions

* Changed FP constants to strings

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
MeirGavish
2025-12-23 07:52:30 +02:00
committed by GitHub
co-authored by Copilot
parent f76c25614c
commit 6575fc7f94
8 changed files with 304 additions and 84 deletions
+19 -12
View File
@@ -1,22 +1,29 @@
#include "font.h"
#include "tonc.h"
#include "util.h"
#include <stdlib.h>
static const char* s_font_point_lookup[] = {
XSTR(FP0_CHAR),
XSTR(FP1_CHAR),
XSTR(FP2_CHAR),
XSTR(FP3_CHAR),
XSTR(FP4_CHAR),
XSTR(FP5_CHAR),
XSTR(FP6_CHAR),
XSTR(FP7_CHAR),
XSTR(FP8_CHAR),
XSTR(FP9_CHAR),
FP0_STR,
FP1_STR,
FP2_STR,
FP3_STR,
FP4_STR,
FP5_STR,
FP6_STR,
FP7_STR,
FP8_STR,
FP9_STR,
};
const char* get_font_point_str(int val)
{
val = ABS(val) % 10;
val = abs(val) % 10;
return s_font_point_lookup[val];
}
char digit_char_to_font_point(char digit_char)
{
return get_font_point_str(digit_char - '0')[0];
}