mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-25 06:21:00 +00:00
Fix FP formatting to a non-back_insert_iterator with sign & numeric alignment (#756)
This commit is contained in:
parent
6322b47e60
commit
fc6e0fe992
@ -2927,7 +2927,8 @@ void basic_writer<Range>::write_double(T value, const format_specs &spec) {
|
||||
align_spec as = spec;
|
||||
if (spec.align() == ALIGN_NUMERIC) {
|
||||
if (sign) {
|
||||
*reserve(1) = sign;
|
||||
auto &&it = reserve(1);
|
||||
*it++ = sign;
|
||||
sign = 0;
|
||||
if (as.width_)
|
||||
--as.width_;
|
||||
|
@ -232,6 +232,12 @@ TEST(FormatToTest, Format) {
|
||||
EXPECT_EQ("part1part2", s);
|
||||
}
|
||||
|
||||
TEST(FormatToTest, FormatToNonbackInsertIteratorWithSignAndNumericAlignment) {
|
||||
char buffer[16] = {};
|
||||
fmt::format_to(buffer, "{: =+}", 42.0);
|
||||
EXPECT_STREQ("+42", buffer);
|
||||
}
|
||||
|
||||
TEST(FormatterTest, Escape) {
|
||||
EXPECT_EQ("{", format("{{"));
|
||||
EXPECT_EQ("before {", format("before {{"));
|
||||
|
Loading…
Reference in New Issue
Block a user