如何在C中将char转换为double?

时间:2014-10-07 09:30:56

标签: c char double

我想转换像#34; 12345678901234567890.123"加倍, 所以我使用sscanf(str,"%lf",& d), 我用printf打印它("%20.3lf",d);

但我得到的结果是" 12345678901234567178.000",

我该如何解决?

1 个答案:

答案 0 :(得分:2)

你可能不能,因为你试图存储一个数字精度超过机器double数据类型的数字。

您需要使用一个大号库,“手动”计算任意数量的数字,因此可以超出机器基本数据类型的限制。

哦,"12345678901234567890.123"不是“char”,它被称为“字符串”。