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 一棵球

时间: 2024-12-18 19:04:33

string和double之间的相互转换的相关文章

PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换

本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下  #ifndef USE_H_       #define USE_H_       #include <iostream>       #include <windows.h>       #include <string>       using namespace std;       class CUser       {  

深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换 [转]

本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下. 1 #ifndef USE_H_ 2 #define USE_H_ 3 4 #include <iostream> 5 #include <windows.h> 6 #include <string> 7 using namespace std; 8 class CUser 9 { 10 public: 11 CUser(); 12

3、关于String,File,InputStream之间的相互转换

1.介绍了关于String,File,InputStream之间的相互转换 1.1  String2InputStream /** * String2InputStream(String str)的工具方法 * * @param str * 需要转换的字符串str * @return 返回的是字符串str转换为inputstream的结果 */ public static InputStream String2InputStream(String str) { ByteArrayInputStr

C#中String 与Color之间的相互转换

其实,我们平常如果要在数据库存放Color类型值的话,肯定会在数据库中建立varchar类型.对吧.但是Color怎么存才合适呢,当然是要转为String了.这里小宋作个简介吧.其实用法很简单:      这个控件中,最后取得的当然是Color类型的值了.所在转为String只要用转换器就行.   String  color = System.Drawing.ColorTranslator.ToHtml(colorEdit1.Color); //将Color对象转为String对象.如#AABB

C# Enum Name String Description之间的相互转换

最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 1 public enum Weekday 2 { 3 [Description("星期一")] 4 Monday=1, 5 [Description("星期二")] 6 Tuesday=2, 7 [Description("星期三")] 8 Wednesday=3, 9 [Description("星期

C#List&lt;string&gt;和string[]之间的相互转换

 一.LIST概述 所属命名空间:System.Collections.Generic      public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable List<T>类是 ArrayList 类的泛型等效类.该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口.  泛型的好处: 它为使

java Data、String、Long三种日期类型之间的相互转换

java Data.String.Long三种日期类型之间的相互转换 // date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型的时间 public static String dateToString(Date data, String formatType) { return new SimpleDateFormat(formatType).format(data

char * string nsstring 之间的相互转换

std::string转NSString std::string _string("hello"); NSString *str= [NSString stringWithCString:_string.c_str() encoding:[NSString defaultCStringEncoding]]; NSString转std::string NSString * nsfaceName[email protected]"HELLO"; const char *

json和string 之间的相互转换

json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo(){ var user={ "name":"jack", //字符串类型的值 "age":18, //数字类型的值 "info":{"tel":"110","cellphone&