首页 > 代码库 > string和double之间的相互转换
string和double之间的相互转换
很多人都写过这个标题的文章,但本文要解决的是确保负数的string和double也可以进行转换。
代码如下:
string转double
1 double stringToDouble(string num) 2 { 3 bool minus = false; //标记是否是负数 4 string real = num; //real表示num的绝对值 5 if (num.at(0) == ‘-‘) 6 { 7 minus = true; 8 real = num.substr(1, num.size()-1); 9 } 10 11 char c; 12 int i = 0; 13 double result = 0.0 , dec = 10.0; 14 bool isDec = false; //标记是否有小数 15 unsigned long size = real.size(); 16 while(i < size) 17 { 18 c = real.at(i); 19 if (c == ‘.‘) 20 {//包含小数 21 isDec = true; 22 i++; 23 continue; 24 } 25 if (!isDec) 26 { 27 result = result*10 + c - ‘0‘; 28 } 29 else 30 {//识别小数点之后都进入这个分支 31 result = result + (c - ‘0‘)/dec; 32 dec *= 10; 33 } 34 i++; 35 } 36 37 if (minus == true) { 38 result = -result; 39 } 40 41 return result; 42 }
double转string
string Chars::doubleToString(double num) { char str[256]; sprintf(str, "%lf", num); string result = str; return result; }
by 一棵球
string和double之间的相互转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。