double 怎么转为string.

时间:2021-10-15 20:20:25
double aa = 123.01234567890123;
string bb = aa.ToString();

//得到的结果:"123.012345678901"

我想把aa的值转化为string类型,怎么做?

40 个解决方案

#1


你不是已经做到了么 

#2


期望的结果是: “123.01234567890123” 会被截断。

#3


double的精度是不是就是小数点后那么多位啊

#4


double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

有没有可以保留所有小数位的转化方法?

#5


string bb = aa.ToString("F20");

要20位就 F20
10位就 F10

#6


支持

#7


引用 4 楼 blackmeit 的回复:
double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
 尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

 有没有可以保留所有小数位的转化方法?


那就先判断你要转的aa 变量的长度。。。
然后在用 ToString("N13") 这种方式来处理

#8


        //aa.ToString("F20")  123.01234567890100000000
        //貌似不是楼主想要的

#9


double aa = 123.01234567890123;
string bb = aa.ToString("r");

#10



double d = 12.0025;
string str = string.Format("{0:#.000}", d);

试试~

#11



//aa.ToString("F13") 结果 123.0123456789010

我错了,这样也是不对的。

#12


bb = Math.Round(aa,2).ToString();
2代表你需要四舍五入的小数点位数!

#13


double aa = 123.01234567890123; 
string bb = aa.ToString(); 

//得到的结果:"123.012345678901" 

我想把aa的值转化为string类型,怎么做?
double小数点后最多11位,就是这样子啊

#14


引用 7 楼 hooverhuang 的回复:
引用 4 楼 blackmeit 的回复:
double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

有没有可以保留所有小数位的转化方法?


那就先判断你要转的aa 变量的长度。。。
然后在用 ToString("N13") 这种方式来处理


我也不知道小数点以后的长度。不知道怎么判断小数点以后的长度。
就是知道了也不对。

#15


引用 13 楼 hhc123 的回复:
double aa = 123.01234567890123;
string bb = aa.ToString();

//得到的结果:"123.012345678901"

我想把aa的值转化为string类型,怎么做?
double小数点后最多11位,就是这样子啊


肯定不是这样子。  你吧整数去掉几位,小数又可以多输入一点

#16


试试九楼的

#17


double的小数位有限限制吧

#18


9楼不对,也会截断,我不知道具体多少个小数位。

#19


是有限制,但转化的时候截断,很郁闷,不知道怎么解决。

#20


引用 9 楼 shiguohui000 的回复:
double aa = 123.01234567890123;
string bb = aa.ToString("r");

好用

#21


楼主,9楼的好用

#22


double aa = 123.01234567890123; 
string bb = aa.ToString("r"); 

这个好像可以,测试通过就结贴。

#23


请及时结贴

#24


引用 10 楼 ddsxd19 的回复:
C# codedouble d=12.0025;string str=string.Format("{0:#.000}", d);
试试~



double d=12.0025;
string str=string.Format("{0:#.#}", d);

#25


r 啥意思?

#26



        double aa = 123.0123456789012;

        string bb = string.Format("{0:#.#}", aa);

结果  123.

你怎么不自己也运行看看?

#27


using System;

public class MainClass
{
    static void Main(string[] args)
    {
        double aa = 123.01234567890123;
        Console.WriteLine(aa.ToString("r"));  
        //这样果然可以
    }

}

#28


是挺好,   r参数标示什么意思?

#29


引用 26 楼 blackmeit 的回复:
        double aa = 123.0123456789012;

        string bb = string.Format("{0:#.#}", aa);

结果  123.

你怎么不自己也运行看看?

我手头在做东西不好试
我记得以前弄过,我再想想
string.Format("{0:#.0000000000000000000000000000000000000}", d);
实在不行你把里面的0弄多点行不 double 怎么转为string.

#30


.........

#31


记住就行了

#32


肯定不行撒, 不足的位数会补0。


参数r什么意思?  我怎么查不到。  还是害怕有问题。

#33


"r" 没什么意思,就是:
                      R 或 r RFC1123 模式

#34


学习

#35


double 怎么转为string.这样啊。。我也学习了

#36


是呀  我查了一下   RFC1123 模式与日期有关,所以我害怕还是有问题。

#37


Convert.tostring即可

#38


汗下

#39


格式转化来转化去不丢失精度,你不就是要这样的效果吗?

#40


  double 转换成 string后精度难以保留说是15位,但是转换后可能达不到。改成Decimal 就可以了。
  事例:
  decimal aa = 123.01234567890123M;
  string bb = aa.ToString();

#1


你不是已经做到了么 

#2


期望的结果是: “123.01234567890123” 会被截断。

#3


double的精度是不是就是小数点后那么多位啊

#4


double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

有没有可以保留所有小数位的转化方法?

#5


string bb = aa.ToString("F20");

要20位就 F20
10位就 F10

#6


支持

#7


引用 4 楼 blackmeit 的回复:
double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
 尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

 有没有可以保留所有小数位的转化方法?


那就先判断你要转的aa 变量的长度。。。
然后在用 ToString("N13") 这种方式来处理

#8


        //aa.ToString("F20")  123.01234567890100000000
        //貌似不是楼主想要的

#9


double aa = 123.01234567890123;
string bb = aa.ToString("r");

#10



double d = 12.0025;
string str = string.Format("{0:#.000}", d);

试试~

#11



//aa.ToString("F13") 结果 123.0123456789010

我错了,这样也是不对的。

#12


bb = Math.Round(aa,2).ToString();
2代表你需要四舍五入的小数点位数!

#13


double aa = 123.01234567890123; 
string bb = aa.ToString(); 

//得到的结果:"123.012345678901" 

我想把aa的值转化为string类型,怎么做?
double小数点后最多11位,就是这样子啊

#14


引用 7 楼 hooverhuang 的回复:
引用 4 楼 blackmeit 的回复:
double的值是没问题的哦, 是没有超过长度的, 转化以后会被截断。
尝试string bb = aa.ToString("N13");这样没问题。 但我不知道小数位有多少。

有没有可以保留所有小数位的转化方法?


那就先判断你要转的aa 变量的长度。。。
然后在用 ToString("N13") 这种方式来处理


我也不知道小数点以后的长度。不知道怎么判断小数点以后的长度。
就是知道了也不对。

#15


引用 13 楼 hhc123 的回复:
double aa = 123.01234567890123;
string bb = aa.ToString();

//得到的结果:"123.012345678901"

我想把aa的值转化为string类型,怎么做?
double小数点后最多11位,就是这样子啊


肯定不是这样子。  你吧整数去掉几位,小数又可以多输入一点

#16


试试九楼的

#17


double的小数位有限限制吧

#18


9楼不对,也会截断,我不知道具体多少个小数位。

#19


是有限制,但转化的时候截断,很郁闷,不知道怎么解决。

#20


引用 9 楼 shiguohui000 的回复:
double aa = 123.01234567890123;
string bb = aa.ToString("r");

好用

#21


楼主,9楼的好用

#22


double aa = 123.01234567890123; 
string bb = aa.ToString("r"); 

这个好像可以,测试通过就结贴。

#23


请及时结贴

#24


引用 10 楼 ddsxd19 的回复:
C# codedouble d=12.0025;string str=string.Format("{0:#.000}", d);
试试~



double d=12.0025;
string str=string.Format("{0:#.#}", d);

#25


r 啥意思?

#26



        double aa = 123.0123456789012;

        string bb = string.Format("{0:#.#}", aa);

结果  123.

你怎么不自己也运行看看?

#27


using System;

public class MainClass
{
    static void Main(string[] args)
    {
        double aa = 123.01234567890123;
        Console.WriteLine(aa.ToString("r"));  
        //这样果然可以
    }

}

#28


是挺好,   r参数标示什么意思?

#29


引用 26 楼 blackmeit 的回复:
        double aa = 123.0123456789012;

        string bb = string.Format("{0:#.#}", aa);

结果  123.

你怎么不自己也运行看看?

我手头在做东西不好试
我记得以前弄过,我再想想
string.Format("{0:#.0000000000000000000000000000000000000}", d);
实在不行你把里面的0弄多点行不 double 怎么转为string.

#30


.........

#31


记住就行了

#32


肯定不行撒, 不足的位数会补0。


参数r什么意思?  我怎么查不到。  还是害怕有问题。

#33


"r" 没什么意思,就是:
                      R 或 r RFC1123 模式

#34


学习

#35


double 怎么转为string.这样啊。。我也学习了

#36


是呀  我查了一下   RFC1123 模式与日期有关,所以我害怕还是有问题。

#37


Convert.tostring即可

#38


汗下

#39


格式转化来转化去不丢失精度,你不就是要这样的效果吗?

#40


  double 转换成 string后精度难以保留说是15位,但是转换后可能达不到。改成Decimal 就可以了。
  事例:
  decimal aa = 123.01234567890123M;
  string bb = aa.ToString();