| ... | @@ -57,6 +57,16 @@ test "fmt.parseFloat" { | ... | @@ -57,6 +57,16 @@ test "fmt.parseFloat" { |
| 57 | try expect(approxEqAbs(T, try parseFloat(T, "1e-2"), 0.01, epsilon)); | 57 | try expect(approxEqAbs(T, try parseFloat(T, "1e-2"), 0.01, epsilon)); |
| 58 | try expect(approxEqAbs(T, try parseFloat(T, "1234e-2"), 12.34, epsilon)); | 58 | try expect(approxEqAbs(T, try parseFloat(T, "1234e-2"), 12.34, epsilon)); |
| 59 | | 59 | |
| | 60 | try expect(approxEqAbs(T, try parseFloat(T, "1."), 1, epsilon)); |
| | 61 | try expect(approxEqAbs(T, try parseFloat(T, "0."), 0, epsilon)); |
| | 62 | try expect(approxEqAbs(T, try parseFloat(T, ".1"), 0.1, epsilon)); |
| | 63 | try expect(approxEqAbs(T, try parseFloat(T, ".0"), 0, epsilon)); |
| | 64 | try expect(approxEqAbs(T, try parseFloat(T, ".1e-1"), 0.01, epsilon)); |
| | 65 | |
| | 66 | try expectError(error.InvalidCharacter, parseFloat(T, ".")); // At least one digit is required. |
| | 67 | try expectError(error.InvalidCharacter, parseFloat(T, ".e1")); // At least one digit is required. |
| | 68 | try expectError(error.InvalidCharacter, parseFloat(T, "0.e")); // At least one digit is required. |
| | 69 | |
| 60 | try expect(approxEqAbs(T, try parseFloat(T, "123142.1"), 123142.1, epsilon)); | 70 | try expect(approxEqAbs(T, try parseFloat(T, "123142.1"), 123142.1, epsilon)); |
| 61 | try expect(approxEqAbs(T, try parseFloat(T, "-123142.1124"), @as(T, -123142.1124), epsilon)); | 71 | try expect(approxEqAbs(T, try parseFloat(T, "-123142.1124"), @as(T, -123142.1124), epsilon)); |
| 62 | try expect(approxEqAbs(T, try parseFloat(T, "0.7062146892655368"), @as(T, 0.7062146892655368), epsilon)); | 72 | try expect(approxEqAbs(T, try parseFloat(T, "0.7062146892655368"), @as(T, 0.7062146892655368), epsilon)); |