mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
parent
e90583f5d1
commit
091aa54a3e
@ -1839,6 +1839,8 @@ test comptimePrint {
|
||||
try std.testing.expectEqualSlices(u8, "100", comptimePrint("{}", .{100}));
|
||||
try std.testing.expectEqualStrings("30", comptimePrint("{d}", .{30.0}));
|
||||
try std.testing.expectEqualStrings("30.0", comptimePrint("{d:3.1}", .{30.0}));
|
||||
try std.testing.expectEqualStrings("0.05", comptimePrint("{d}", .{0.05}));
|
||||
try std.testing.expectEqualStrings("5e-2", comptimePrint("{e}", .{0.05}));
|
||||
}
|
||||
|
||||
test "parse u64 digit too big" {
|
||||
|
||||
@ -270,9 +270,9 @@ pub fn formatDecimal(buf: []u8, f_: FloatDecimal128, precision: ?usize) FormatEr
|
||||
|
||||
// fixed bound: leading_digit(1) + point(1)
|
||||
const req_bytes = if (f.exponent >= 0)
|
||||
2 + @abs(f.exponent) + olength + (precision orelse 0)
|
||||
@as(usize, 2) + @abs(f.exponent) + olength + (precision orelse 0)
|
||||
else
|
||||
2 + @max(@abs(f.exponent) + olength, precision orelse 0);
|
||||
@as(usize, 2) + @max(@abs(f.exponent) + olength, precision orelse 0);
|
||||
if (buf.len < req_bytes) {
|
||||
return error.BufferTooSmall;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user