FloatToStr
FloatToStr
Description
Convert a float to a normalized decimal string.
Parameters
| Name | Direction | Description |
|---|---|---|
value |
in | Float to convert |
Usage example (from documentation)
Str text = FloatToStr(&value);Returns
Decimal string representation without scientific notation.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Io.c:844:
static Str FloatFmtToDecimalStr(Float *value, u32 precision, bool has_precision) {
Str canonical = FloatToStr(value);
if (!has_precision) {- In
Float.c:339:
}
Str FloatToStr(Float *value) {
Str digits = StrInit();
Str result = StrInit();- In
Float.Math.c:31:
FloatNegate(&value);
text = FloatToStr(&value);
bool result = strcmp(text.data, "-12.5") == 0;- In
Float.Math.c:37:
StrDeinit(&text);
FloatAbs(&value);
text = FloatToStr(&value);
result = result && (strcmp(text.data, "12.5") == 0);- In
Float.Math.c:54:
FloatAdd(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "1.23") == 0;- In
Float.Math.c:74:
FloatAdd(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, FLOAT_TEST_VERY_LARGE_THREES) == 0;- In
Float.Math.c:95:
FloatAdd(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "2") == 0;- In
Float.Math.c:100:
StrDeinit(&text);
FloatAdd(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.25") == 0);- In
Float.Math.c:105:
StrDeinit(&text);
FloatAdd(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.25") == 0);- In
Float.Math.c:110:
StrDeinit(&text);
FloatAdd(&result_value, &a, -1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "0.25") == 0);- In
Float.Math.c:115:
StrDeinit(&text);
FloatAdd(&result_value, &a, 0.75f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2") == 0);- In
Float.Math.c:120:
StrDeinit(&text);
FloatAdd(&result_value, &a, 0.75);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2") == 0);- In
Float.Math.c:140:
FloatSub(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "-0.5") == 0;- In
Float.Math.c:160:
FloatSub(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, FLOAT_TEST_VERY_LARGE_TWOS) == 0;- In
Float.Math.c:181:
FloatSub(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "5") == 0;- In
Float.Math.c:186:
StrDeinit(&text);
FloatSub(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.5") == 0);- In
Float.Math.c:191:
StrDeinit(&text);
FloatSub(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3.5") == 0);- In
Float.Math.c:196:
StrDeinit(&text);
FloatSub(&result_value, &a, -2);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "7.5") == 0);- In
Float.Math.c:201:
StrDeinit(&text);
FloatSub(&result_value, &a, 0.5f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "5") == 0);- In
Float.Math.c:221:
FloatMul(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "-2.5") == 0;- In
Float.Math.c:241:
FloatMul(&result_value, &a, &b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, FLOAT_TEST_VERY_LARGE_TWOS) == 0;- In
Float.Math.c:262:
FloatMul(&result_value, &a, b);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "3") == 0;- In
Float.Math.c:267:
StrDeinit(&text);
FloatMul(&result_value, &a, whole);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3") == 0);- In
Float.Math.c:272:
StrDeinit(&text);
FloatMul(&result_value, &a, 2u);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "3") == 0);- In
Float.Math.c:277:
StrDeinit(&text);
FloatMul(&result_value, &a, -2);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "-3") == 0);- In
Float.Math.c:282:
StrDeinit(&text);
FloatMul(&result_value, &a, 0.5f);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "0.75") == 0);- In
Float.Math.c:302:
FloatDiv(&result_value, &a, &b, 3);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "0.125") == 0;- In
Float.Math.c:322:
FloatDiv(&result_value, &a, &b, 0);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, FLOAT_TEST_VERY_LARGE_ONES) == 0;- In
Float.Math.c:343:
FloatDiv(&result_value, &a, b, 1);
text = FloatToStr(&result_value);
bool result = strcmp(text.data, "3") == 0;- In
Float.Math.c:348:
StrDeinit(&text);
FloatDiv(&result_value, &a, whole, 1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2.5") == 0);- In
Float.Math.c:353:
StrDeinit(&text);
FloatDiv(&result_value, &a, 3u, 1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "2.5") == 0);- In
Float.Math.c:358:
StrDeinit(&text);
FloatDiv(&result_value, &a, -3, 1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "-2.5") == 0);- In
Float.Math.c:363:
StrDeinit(&text);
FloatDiv(&result_value, &a, 0.5f, 1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "15") == 0);- In
Float.Math.c:368:
StrDeinit(&text);
FloatDiv(&result_value, &a, 0.5, 1);
text = FloatToStr(&result_value);
result = result && (strcmp(text.data, "15") == 0);- In
Io.Read.c:950:
z = "1234567890.012345";
StrReadFmt(z, "{}", dec);
dec_text = FloatToStr(&dec);
success = success && (ZstrCompare(dec_text.data, "1234567890.012345") == 0);- In
Io.Read.c:955:
z = "1.234567e+04";
StrReadFmt(z, "{e}", sci);
sci_text = FloatToStr(&sci);
success = success && (ZstrCompare(sci_text.data, "12345.67") == 0);- In
Io.Read.c:960:
z = "-0.00125";
StrReadFmt(z, "{}", neg);
neg_text = FloatToStr(&neg);
success = success && (ZstrCompare(neg_text.data, "-0.00125") == 0);
Float value = FloatFrom(42);
Str text = FloatToStr(&value);
bool result = strcmp(text.data, "42") == 0;
Float value = FloatFrom(-42);
Str text = FloatToStr(&value);
bool result = strcmp(text.data, "-42") == 0; Int integer = IntFromStr("12345678901234567890");
Float value = FloatFrom(&integer);
Str text = FloatToStr(&value);
bool result = strcmp(text.data, "12345678901234567890") == 0;
Float value = FloatFromStr("-123.45");
Str text = FloatToStr(&value);
bool result = strcmp(text.data, "-123.45") == 0;
Float value = FloatFromStr(FLOAT_TEST_VERY_LARGE_ONES);
Str text = FloatToStr(&value);
bool result = strcmp(text.data, FLOAT_TEST_VERY_LARGE_ONES) == 0;
Float value = FloatFromStr("1.2300e3");
Str text = FloatToStr(&value);
bool result = strcmp(text.data, "1230") == 0;- In
Float.Type.c:45:
Float clone = FloatClone(&original);
Float expected = FloatFromStr("-12.5");
Str text = FloatToStr(&clone);
FloatAbs(&original);
Last updated on