Function printFloat [src]
Uses a larger stack buffer; asserts mode is decimal or scientific.
Prototype
pub fn printFloat(w: *Writer, value: anytype, options: std.fmt.Number) Error!void
Parameters
w: *Writer
options: std.fmt.Number
Possible Errors
See the Writer
implementation for detailed diagnostics.
Source
pub fn printFloat(w: *Writer, value: anytype, options: std.fmt.Number) Error!void {
const mode: std.fmt.float.Mode = switch (options.mode) {
.decimal => .decimal,
.scientific => .scientific,
.binary, .octal, .hex => unreachable,
};
var buf: [std.fmt.float.bufferSize(.decimal, f64)]u8 = undefined;
const s = std.fmt.float.render(&buf, value, .{
.mode = mode,
.precision = options.precision,
}) catch |err| switch (err) {
error.BufferTooSmall => "(float)",
};
return w.alignBuffer(s, options.width orelse s.len, options.alignment, options.fill);
}