c#中如何把一个Float类型(以科学记数法)转换成string类型 如下

facingfeng_xf 2009-02-16 02:01:28
如 float f = 1111111317571160.1;
结果显示在界面的时候成了 1.11111131757116E+15

请问各位大哥:如何让我把一个 float 类型的数字(1111111317571160.1 )转换成 string 类型的 (1111111317571160.1 )



...全文
1793 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunstar0806 2011-01-14
  • 打赏
  • 举报
回复
怎么看不到
我姓区不姓区 2009-02-16
  • 打赏
  • 举报
回复
float的精度是7位的,这里你不能用float吧,应该用double:

double d = 1111111317571160.1;
Console.WriteLine(d.ToString("R1"));
输出:
/*
1111111317571160.1
*/

soaringbird 2009-02-16
  • 打赏
  • 举报
回复
Decimal f = 1111111317571160.1M;
facingfeng_xf 2009-02-16
  • 打赏
  • 举报
回复
f.toString("#.0")
这个不行啊,部分数据四舍五入了。。。

double 和float都不行,用Decimal才可以,这个 具体怎么做呢?
tryanother 2009-02-16
  • 打赏
  • 举报
回复
f.toString("#.0")
成都慢生活 2009-02-16
  • 打赏
  • 举报
回复
* 1E20

toString

Insert point in target location

trim '0'
soaringbird 2009-02-16
  • 打赏
  • 举报
回复
double 和float都不行,用Decimal才可以
friend555 2009-02-16
  • 打赏
  • 举报
回复
数太大了,不能定义成单精度型,定义成双精度型


Double f=1111111317571160.1;
string ss=Convert.ToString(f);

但是这样小数点后边的1丢掉了
facingfeng_xf 2009-02-16
  • 打赏
  • 举报
回复
7楼说的和我现在遇到的情况是一样的。。。

如果一旦转成 科学记数法显示后,然后再转成字符串时,数据可能与原来的不同了。。

如果方便的话 请把具体的代码发上来。。。谢谢
郁闷的码农 2009-02-16
  • 打赏
  • 举报
回复
toString
zgke 2009-02-16
  • 打赏
  • 举报
回复
太长了 0.1 会丢的把.
cppfaq 2009-02-16
  • 打赏
  • 举报
回复
string str = string.Format("{0:0.0}",f)
sunshine_anycall 2009-02-16
  • 打赏
  • 举报
回复
把e前面的小数转为字符串
把e后面的数字作为循环
每循环一次,小数点往后面移动一位
如果小数点位置大于小数字符串的长度则右补0
facingfeng_xf 2009-02-16
  • 打赏
  • 举报
回复
.ToString()方法不行


格式化 能具体点吗?
facingfeng_xf 2009-02-16
  • 打赏
  • 举报
回复
问题很急,希望有解决办法的大狭顶一下 ,

在线等
成都慢生活 2009-02-16
  • 打赏
  • 举报
回复
...
toString
ztenv 2009-02-16
  • 打赏
  • 举报
回复
格式化

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧