带有负号的字符数据怎样转换成数值型数据?

例如: 怎样将 ✀-36,789✀ (字符型) 转换成 -36,789(数值型) ?
2025-03-12 09:28:30
推荐回答(3个)
回答1:

我是把数据当字符串处理的, 最后把负号还到前面, 然后作为字符串再输出显示; 还有千分符也是这么作的

回答2:

char *str="-12,3,45";
const char *sc;
long int value = 0;

for(sc = str; *sc; ++sc) {
if(isdigit(*sc)) /* *sc>='0' && *sc <= '9' */
value = value * 10 + *sc - '0';
}
if((*str == '-') /*other*/
value *= -1;
printf("%s=%d\n", str, value);

回答3:

不知道怎么弄,如果是以字符串形式输出来,到很简单