char_type do_decimal_point() const;
Returns: A character for use as the decimal radix separator. The required specializations return '.' or L'.'.
char_type do_thousands_sep() const;
Returns: A character for use as the digit group separator. The required specializations return ',' or L','.
string do_grouping() const;
Returns: A basic_string<char> vec used as a vector of integer values, in which each element vec[i] represents the number of digits241 in the group at position i, starting with position 0 as the rightmost group. If vec.size() <= i, the number is the same as group (i - 1); if (i < 0 || vec[i] <= 0 || vec[i] == CHAR_MAX), the size of the digit group is unlimited.
string_type do_truename() const;
string_type do_falsename() const;
Thus, the string "\003" specifies groups of 3 digits each, and "3" probably indicates groups of 51 (!) digits each, because 51 is the ASCII value of "3".