本文介绍了将字符串转换为双精度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将一个字符串( const char * argv []
)转换为 double
精度浮点数数字:
int main(const int argc,const char * argv []){
int i;
double numbers [argc - 1];
for(i = 1; i< argc; i + = 1){
/ * - 将每个argv转换成double,并将其放在`number` * /
}
/ * ... * /
return 0;
}
任何人都可以帮我吗?谢谢
解决方案
使用
sscanf(argv [i],%lf,numbers + i);
或
code> numbers [i] = strtod(argv [i],NULL);
BTW,
$ b $ (i = 1; i< argc,i + = 1)的{pre>
{
// -------------- --- ^应该是分号(;)
- >
I am trying to convert a string (const char* argv[]
) to a double
precision floating point number:
int main(const int argc, const char *argv[]) {
int i;
double numbers[argc - 1];
for(i = 1; i < argc; i += 1) {
/* -- Convert each argv into a double and put it in `number` */
}
/* ... */
return 0;
}
Can anyone help me? Thanks
解决方案
Use sscanf
(Ref)
sscanf(argv[i], "%lf", numbers+i);
or strtod
(Ref)
numbers[i] = strtod(argv[i], NULL);
BTW,
for(i = 1; i < argc, i += 1) {
//-----------------^ should be a semicolon (;)
-->
这篇关于将字符串转换为双精度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!