diff options
Diffstat (limited to 'lib/std/fmt/parse_float.zig')
| -rw-r--r-- | lib/std/fmt/parse_float.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/std/fmt/parse_float.zig b/lib/std/fmt/parse_float.zig index 44b6fb2fc0..3013ca7865 100644 --- a/lib/std/fmt/parse_float.zig +++ b/lib/std/fmt/parse_float.zig @@ -57,6 +57,16 @@ test "fmt.parseFloat" { try expect(approxEqAbs(T, try parseFloat(T, "1e-2"), 0.01, epsilon)); try expect(approxEqAbs(T, try parseFloat(T, "1234e-2"), 12.34, epsilon)); + try expect(approxEqAbs(T, try parseFloat(T, "1."), 1, epsilon)); + try expect(approxEqAbs(T, try parseFloat(T, "0."), 0, epsilon)); + try expect(approxEqAbs(T, try parseFloat(T, ".1"), 0.1, epsilon)); + try expect(approxEqAbs(T, try parseFloat(T, ".0"), 0, epsilon)); + try expect(approxEqAbs(T, try parseFloat(T, ".1e-1"), 0.01, epsilon)); + + try expectError(error.InvalidCharacter, parseFloat(T, ".")); // At least one digit is required. + try expectError(error.InvalidCharacter, parseFloat(T, ".e1")); // At least one digit is required. + try expectError(error.InvalidCharacter, parseFloat(T, "0.e")); // At least one digit is required. + try expect(approxEqAbs(T, try parseFloat(T, "123142.1"), 123142.1, epsilon)); try expect(approxEqAbs(T, try parseFloat(T, "-123142.1124"), @as(T, -123142.1124), epsilon)); try expect(approxEqAbs(T, try parseFloat(T, "0.7062146892655368"), @as(T, 0.7062146892655368), epsilon)); |
