boost :: format和欧洲浮点格式

时间:2011-08-30 07:11:04

标签: c++ boost

此代码使用boost :: format从ascii文件中读取数据。客户拥有欧洲格式的数据 - 3,14159 - 我也需要能够阅读此内容。 在另一个功能中,它使用sscanf,我可以通过使用
使其成为欧洲     setlocale(LC_NUMERIC,“德语”);
但这似乎并没有给人留下深刻印象。

1 个答案:

答案 0 :(得分:2)

我现在不知道如何使用boost :: format进行读取,但无论如何:要使用的boost :: format的语言环境被指定为格式构造函数的参数。例如:

#include <iostream>
#include <locale>
#include <boost/format.hpp>

int main()
{
    std::locale en("en_US.UTF-8");
    std::locale de("de_DE.UTF-8");

    std::cout << boost::format("pi~=%1%",en)%3.141 << std::endl;
    std::cout << boost::format("pi~=%1%",de)%3.141 << std::endl;
}