如何将字符串转换为双精度并保持字符串中表示的数字完全相同

汤姆

下面的代码将导致结果,moneyDouble = 365.24567874299998我需要它是完全365.245678743
不介意的,我不必介意设置精度并在右侧获取一些额外的零。

该数字用于计算货币交易,因此需要准确。

std::string money ("365.245678743");
std::string::size_type sz;     // alias of size_t

double moneyDouble = std::stod (money,&sz);
Angew不再为SO感到骄傲

句点[link],浮点数和精确度不混用因此,绝对不要在浮点数[link]中进行货币计算使用定点算术库,或仅使用整数算术并将其解释为所需的任何小数部分。由于您的精度要求似乎很高(很多小数点),因此可能需要大数字库。

虽然库建议在Stack Overflow上是不合时宜的,但这个老问题似乎为您提供了很多有用的库链接。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章