diff options
Diffstat (limited to 'js/scripting-lang/baba-yaga-c/test_precision.c')
-rw-r--r-- | js/scripting-lang/baba-yaga-c/test_precision.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/scripting-lang/baba-yaga-c/test_precision.c b/js/scripting-lang/baba-yaga-c/test_precision.c new file mode 100644 index 0000000..e6a986d --- /dev/null +++ b/js/scripting-lang/baba-yaga-c/test_precision.c @@ -0,0 +1,18 @@ +#include <stdio.h> +#include <string.h> // Added for strlen +int main() { + double x = 1.0 / 3.0; + printf("x = %.15g\n", x); + printf("(long)x = %ld\n", (long)x); + printf("x == (long)x: %s\n", x == (long)x ? "true" : "false"); + + char buffer[128]; + if (x == (long)x) { + snprintf(buffer, sizeof(buffer), "%ld", (long)x); + printf("Using integer format: '%s'\n", buffer); + } else { + snprintf(buffer, sizeof(buffer), "%.15g", x); + printf("Using float format: '%s'\n", buffer); + } + return 0; +} |