将字符串转换为双精度

将字符串转换为双精度

本文介绍了将字符串转换为双精度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将一个字符串( 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 (;)

-->

这篇关于将字符串转换为双精度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 08:18