草庐IT

c++ - 如何根据 C++ 中的语言环境设置解析双重格式

我发现我一直使用的strtod方法有问题。首先它不理解非点小数点分隔符,所以我不得不使用这个:std::replace(sSource.begin(),sSource.end(),getDecimalSeparator(),'.');但是不,我发现了另一个问题,但还没有找到解决方法。如果值为负数并且千位分隔符是一个点(“.”),strtod返回0并且_EndPtr指向字符串的开头://PRECONDITIONS://*digitgroupingsymbol(thousandsseparator)="."//*decimalsymbol=","//*digitalgrouping="12