我如何扩展现有类型的格式规范(如float)在C++?

yqkkidmi  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(120)

我想扩展浮点类型的格式选项,最好保留一些现有的选项。例如,我想为度量值添加一个新的type说明符,其单位如下所示:std::format({:.5mm}, 0.05f),并将数据打印为precision=5,但也要乘以1000并以'mm'为前缀。这可能吗

ki1q1bka

ki1q1bka1#

float等基本类型的格式规范已内置到系统中;你不能扩展它们。
你可以将它们 Package 在一个用户定义的类型中,你可以对它应用任何你喜欢的格式。如注解中所示,std::format("{:.5mm}", MyUnit(0.05f)),其中MyUnit是您的类型,它有自己的格式规范。

相关问题