fmtライブラリを使用して浮動小数点数をフォーマットしたいと考えています。
小数点記号「,」を使用して浮動小数点数をフォーマットしようとしましたが、これを試しても成功しませんでした:
#include <iostream>
#include <fmt/format.h>
#include <fmt/locale.h>
struct numpunct : std::numpunct<char> {
protected:
char do_decimal_point() const override
{
return ',';
}
};
int main(void) {
std::locale loc;
std::locale l(loc, new numpunct());
std::cout << fmt::format(l, "{0:f}", 1.234567);
}
出力は1.234567
です。をお願いします。1,234567
アップデート:
fmt ライブラリのソースを参照したところ、浮動小数点数用に小数点記号がハードコードされており、現在のロケールを尊重していないと思います。
fmt ライブラリでイシューを開いたところです