您当前的位置: 首页 >  c#

Peter_Gao_

暂无认证

  • 0浏览

    0关注

    621博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C#中保留小数点后指定位数

Peter_Gao_ 发布时间:2021-02-06 15:35:41 ,浏览量:0

 

double d=1.2356;

  1. string str=d.ToString("0.00");  //小数点后有几个0即保留几位小数。
  2. string str=d.ToString("#0.00");  
  3. string str=d.ToString("f2");  //fn 保留n位,四舍五入,"F","f" 不区分大小写
  4. string str=String.Format("{0:F}", d);  
  5. string str=String.Format("{0:N2}", d);
  6. double do=Math.Round(d, 2);  
  7. decimal de = decimal.Round(decimal.Parse(d.ToString()), 2);

以上7种方法的结果都是1.24。

 

我用了float y = float.Parse(x.ToString("#0.00")),但比如6.50000000000这样做后却变成了6.5,我想让它变成6.50怎么做啊,最后我就是想得到两位小数

编程论坛 1 个网友回答:

float y=6.5 和 6.50内存计算时是一样的啊,你只是显示时将其格式化为 6.50即可.

编程论坛 2 个网友回答:

这个是显示的时候控制,不是赋值能解决的

double x = 6.50000000000; float y = float.Parse(x.ToString()); Console.WrITeLine(y.ToString("F2"));

编程论坛 3 个网友回答:

我现在需要把这个转成6.50的string共四位发出去,接受方会摘出它来,所以我需要固定位数的,如果是6.5接收的时候就会摘不出来了

编程论坛 4 个网友回答:

你要是想在显示时看到的是6.50,那就用string yy = y.ToString("0.00"); 计算时6.5和6.50是一样的

编程论坛 5 个网友回答:

C# code

string str = 6.500000.ToString("f2");//6.50

这样不就转为6.50格式了

编程论坛 6 个网友回答:

float y=6.5; 是浮点型的. 你如果需要通过tcp或RS232 之类的通讯,那也应该转成string型的传递啊,传递前格式化一下即可.

编程论坛 7 个网友回答:

float y =6.5f; string s = string.Format("{0:0.00}",y);

 

float f = 12.123456f;

string s=f.ToString("0.00");  //呵呵 貌似不正规 还需要强行再转回去

 

Method 2

 

float f = 12.123456f;

string s=f.ToString("f2"); 

 

Method 3

 

float f = 12.123456f;

double s=Math.Round(f, 2);  //这样搞成double了 呵呵

 

这样其实会四舍五入 而且float后面必须带字幕f 而声明double类型的数据则什么都不用带

 

关注
打赏
1664521772
查看更多评论
立即登录/注册

微信扫码登录

0.0451s